@Override
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
   super.onCreateContextMenu(menu, v, menuInfo);
   int selectedPosition = ((AdapterView.AdapterContextMenuInfo) menuInfo).position;
   Resources res = getResources();
   @SuppressWarnings("unused")
   MenuItem item;
   mSelectedCard = mDeck.cardFromId(Long.parseLong(mCards.get(selectedPosition).get("id")));
   if (mSelectedCard.isMarked()) {
     item =
         menu.add(
             Menu.NONE,
             CONTEXT_MENU_MARK,
             Menu.NONE,
             res.getString(R.string.card_browser_unmark_card));
     mIsMarked = true;
     Log.i(AnkiDroidApp.TAG, "Selected Card is currently marked");
   } else {
     item =
         menu.add(
             Menu.NONE,
             CONTEXT_MENU_MARK,
             Menu.NONE,
             res.getString(R.string.card_browser_mark_card));
     mIsMarked = false;
   }
   if (mSelectedCard.getSuspendedState()) {
     item =
         menu.add(
             Menu.NONE,
             CONTEXT_MENU_SUSPEND,
             Menu.NONE,
             res.getString(R.string.card_browser_unsuspend_card));
     mIsSuspended = true;
     Log.i(AnkiDroidApp.TAG, "Selected Card is currently suspended");
   } else {
     item =
         menu.add(
             Menu.NONE,
             CONTEXT_MENU_SUSPEND,
             Menu.NONE,
             res.getString(R.string.card_browser_suspend_card));
     mIsSuspended = false;
   }
   item =
       menu.add(
           Menu.NONE,
           CONTEXT_MENU_DELETE,
           Menu.NONE,
           res.getString(R.string.card_browser_delete_card));
   item =
       menu.add(
           Menu.NONE,
           CONTEXT_MENU_DETAILS,
           Menu.NONE,
           res.getString(R.string.card_browser_card_details));
   menu.setHeaderTitle(mCards.get(selectedPosition).get("question"));
 }
示例#2
0
 public void setCard(Card card) {
   mCard = card.isMarked() ? card.active() : card;
   this.setText(mCard.mToDisplay);
   if (mCard.isDisabled()) {
     this.getBackground().setColorFilter(MATERIAL_DEEP_ORANGE_700);
   } else {
     this.getBackground().setColorFilter(MATERIAL_GREY_900);
     this.setAlpha(mCard.getAlpha());
   }
   mCard.addSubscriber(this);
 }
示例#3
0
 @Override
 public void onNotify(Card card) {
   mCard = card;
   resetAlpha();
   if (card.isActive()) {
     this.getBackground().setColorFilter(MATERIAL_GREY_900);
     this.setAlpha(mCard.getAlpha());
   } else if (card.isMarked()) {
     this.getBackground().setColorFilter(MATERIAL_GREY_500);
   } else if (card.isMatched()) {
     this.getBackground().setColorFilter(AMGI_NORI_GREEN);
   } else if (card.isDisabled()) {
     this.getBackground().setColorFilter(MATERIAL_DEEP_ORANGE_700);
   }
 }
 @Override
 public void onPostExecute(DeckTask.TaskData result) {
   mUndoRedoCardId = result.getLong();
   String undoType = result.getString();
   if (undoType.equals(Deck.UNDO_TYPE_DELETE_CARD)) {
     int position = getPosition(mDeletedCards, mUndoRedoCardId);
     if (position != -1) {
       HashMap<String, String> data = new HashMap<String, String>();
       data.put("id", mDeletedCards.get(position).get("id"));
       data.put("question", mDeletedCards.get(position).get("question"));
       data.put("answer", mDeletedCards.get(position).get("answer"));
       data.put("marSus", mDeletedCards.get(position).get("marSus"));
       mAllCards.add(Integer.parseInt(mDeletedCards.get(position).get("allCardPos")), data);
       mDeletedCards.remove(position);
       updateCardsList();
     } else {
       deleteCard(Long.toString(mUndoRedoCardId), getPosition(mCards, mUndoRedoCardId));
     }
     mProgressDialog.dismiss();
   } else {
     mUndoRedoCard = mDeck.cardFromId(mUndoRedoCardId);
     if (undoType.equals(Deck.UNDO_TYPE_EDIT_CARD)) {
       mUndoRedoCard.fromDB(mUndoRedoCardId);
       int pos = getPosition(mAllCards, mUndoRedoCardId);
       updateCard(mUndoRedoCard, mAllCards, pos);
       pos = getPosition(mCards, mUndoRedoCardId);
       if (pos != -1) {
         updateCard(mUndoRedoCard, mCards, pos);
       }
       updateList();
       mProgressDialog.dismiss();
     } else if (undoType.equals(Deck.UNDO_TYPE_MARK_CARD)) {
       markCards(mUndoRedoCard.getFactId(), mUndoRedoCard.isMarked());
       mProgressDialog.dismiss();
     } else if (undoType.equals(Deck.UNDO_TYPE_SUSPEND_CARD)) {
       suspendCard(
           mUndoRedoCard,
           getPosition(mCards, mUndoRedoCardId),
           mUndoRedoCard.getSuspendedState());
       mProgressDialog.dismiss();
     } else {
       mUndoRedoDialogShowing = true;
       getCards();
     }
   }
 }