Esempio n. 1
1
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
   LogUtils.d(TAG, "onActivityResult request=" + requestCode + " result=" + resultCode);
   TodoInfo info = null;
   switch (resultCode) {
     case Utils.OPERATOR_INSERT:
       info = (TodoInfo) data.getSerializableExtra(Utils.KEY_PASSED_DATA);
       mTodosListAdapter.addItem(info);
       final int addPos = mTodosListAdapter.getItemPosition(info);
       mTodosListView.setSelection(addPos);
       break;
     case Utils.OPERATOR_UPDATE:
       info = (TodoInfo) data.getSerializableExtra(Utils.KEY_PASSED_DATA);
       if (null == info) {
         LogUtils.e(TAG, "result: OPERATOR_UPDATE, but data didn't contain the info");
         return;
       }
       mTodosListAdapter.updateItemData(info);
       final int updatePos = mTodosListAdapter.getItemPosition(info);
       mTodosListView.setSelection(updatePos);
       break;
     case Utils.OPERATOR_DELETE:
       info = (TodoInfo) data.getSerializableExtra(Utils.KEY_PASSED_DATA);
       if (null == info) {
         LogUtils.e(TAG, "result: OPERATOR_DELETE, but data didn't contain the info");
         return;
       }
       mTodosListAdapter.removeItem(info);
       break;
     default:
       break;
   }
 }
Esempio n. 2
0
 @Override
 protected void onPrepareDialog(int id, Dialog dialog) {
   super.onPrepareDialog(id, dialog);
   switch (id) {
     case DIALOG_DELETE_ITEMS:
       String msg = "";
       if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_TODOS) {
         if (mTodosListAdapter.getSeletedTodosNumber() > 1) {
           msg = getString(R.string.delete_selected_items);
         } else {
           msg = getString(R.string.delete_item);
         }
         ((AlertDialog) dialog).setMessage(msg);
       } else if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_DONES) {
         if (mTodosListAdapter.getSeletedDonesNumber() > 1) {
           msg = getString(R.string.delete_selected_items);
         } else {
           msg = getString(R.string.delete_item);
         }
         ((AlertDialog) dialog).setMessage(msg);
       }
       break;
     default:
       break;
   }
 }
Esempio n. 3
0
 private void onChangeItemStateClick() {
   String currentStatus = null;
   String targetStatus = null;
   if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_TODOS) {
     currentStatus = TodoInfo.STATUS_TODO;
     targetStatus = TodoInfo.STATUS_DONE;
   } else if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_DONES) {
     currentStatus = TodoInfo.STATUS_DONE;
     targetStatus = TodoInfo.STATUS_TODO;
   }
   mTodosListAdapter.updateSelectedStatus(currentStatus, targetStatus);
   updateToEditNull();
 }
Esempio n. 4
0
 private int getSelectedCount() {
   int num = -1;
   if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_TODOS) {
     num = mTodosListAdapter.getSeletedTodosNumber();
   } else if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_DONES) {
     num = mTodosListAdapter.getSeletedDonesNumber();
   } else {
     LogUtils.w(
         TAG,
         "mTodosListAdapter.getEditType():+mTodosListAdapter.getEditType()"
             + ",may be has error.");
   }
   return num;
 }
Esempio n. 5
0
  void updateBottomBarWidgetState() {
    LogUtils.d(TAG, "updateBottomBarWidgetState(), editing=" + mTodosListAdapter.isEditing());
    if (mTodosListAdapter.isEditing()) {
      int selectedNumber = 0;
      int dataSourceNumber = 0;
      if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_TODOS) {
        selectedNumber = mTodosListAdapter.getSeletedTodosNumber();
        dataSourceNumber = mTodosListAdapter.getTodosDataSource().size();
      } else if (mTodosListAdapter.getEditType() == TodosListAdapter.EDIT_DONES) {
        selectedNumber = mTodosListAdapter.getSeletedDonesNumber();
        dataSourceNumber = mTodosListAdapter.getDonesDataSource().size();
      }

      LogUtils.d(
          TAG, "selectedNumber=" + selectedNumber + ", dataSourceNumber=" + dataSourceNumber);
      if (dataSourceNumber == 0) {
        updateToEditNull();
      } else {
        /// M: add to avoid this case: no item has been selected but the button
        // can be pressed {@
        if (selectedNumber > 0) {
          mBtnDelete.setEnabled(true);
          mBtnChangeState.setEnabled(true);
        } else {
          mBtnDelete.setEnabled(false);
          mBtnChangeState.setEnabled(false);
        }
        /// @}
        mTodosActionCallBack.updateActionMode();
      }
    }
  }
Esempio n. 6
0
 private void updateToEditNull() {
   if (mActionMode != null) {
     mActionMode.finish();
   }
   invalidateOptionsMenu();
   mTodosListAdapter.setEditingType(TodosListAdapter.EDIT_NULL);
 }
Esempio n. 7
0
 @Override
 public void onBackPressed() {
   if (mTodosListAdapter.isEditing()) {
     updateToEditNull();
     return;
   }
   super.onBackPressed();
 }