@Override public void openMessage(MessageReference messageReference) { Preferences prefs = Preferences.getPreferences(getApplicationContext()); Account account = prefs.getAccount(messageReference.accountUuid); String folderName = messageReference.folderName; if (folderName.equals(account.getDraftsFolderName())) { MessageCompose.actionEditDraft(this, messageReference); } else { mMessageViewContainer.removeView(mMessageViewPlaceHolder); MessageViewFragment fragment = MessageViewFragment.newInstance(messageReference); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.message_view_container, fragment); mMessageViewFragment = fragment; ft.commit(); if (mDisplayMode == DisplayMode.SPLIT_VIEW) { mMessageListFragment.setActiveMessage(messageReference); } else { showMessageView(); } } invalidateOptionsMenu(); }
// MessageListFragment$Callback @Override public void onMessageOpen(long messageId, long messageMailboxId, long listMailboxId, int type) { if (type == MessageListFragment.Callback.TYPE_DRAFT) { MessageCompose.actionEditDraft(mActivity, messageId); } else { if (getMessageId() != messageId) { navigateToMessage(messageId); mThreePane.showRightPane(); } } }
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.compose: MessageCompose.actionCompose(this, mAccount); return true; case R.id.check_mail: MessagingController.getInstance(getApplication()) .checkMail(this, mAccount, true, true, mAdapter.mListener); return true; case R.id.send_messages: MessagingController.getInstance(getApplication()).sendPendingMessages(mAccount, null); return true; case R.id.accounts: onAccounts(); return true; case R.id.list_folders: onRefresh(REFRESH_REMOTE); return true; case R.id.account_settings: onEditAccount(); return true; case R.id.app_settings: onEditPrefs(); return true; case R.id.empty_trash: onEmptyTrash(mAccount); return true; case R.id.compact: onCompact(mAccount); return true; case R.id.export: onExport(mAccount); return true; case R.id.export_all: onExport(null); return true; case R.id.display_1st_class: { setDisplayMode(FolderMode.FIRST_CLASS); return true; } case R.id.display_1st_and_2nd_class: { setDisplayMode(FolderMode.FIRST_AND_SECOND_CLASS); return true; } case R.id.display_not_second_class: { setDisplayMode(FolderMode.NOT_SECOND_CLASS); return true; } case R.id.display_all: { setDisplayMode(FolderMode.ALL); return true; } default: return super.onOptionsItemSelected(item); } }
// MessageViewFragment$Callback @Override public void onReplyAll() { MessageCompose.actionReply(mActivity, getMessageId(), true); }
// MessageViewFragment$Callback @Override public void onForward() { MessageCompose.actionForward(mActivity, getMessageId()); }
@Override public void onForward(Message mMessage, PgpData mPgpData) { MessageCompose.actionForward(this, mAccount, mMessage, mPgpData.getDecryptedData()); finish(); }
@Override public void onReplyAll(Message message, PgpData pgpData) { MessageCompose.actionReply(this, mAccount, message, true, pgpData.getDecryptedData()); finish(); }
@Override public void onCompose(Account account) { MessageCompose.actionCompose(this, account); }
@Override public void onReplyAll(Message message) { MessageCompose.actionReply(this, message.getFolder().getAccount(), message, true, null); }
@Override public void onForward(Message message) { MessageCompose.actionForward(this, message.getFolder().getAccount(), message, null); }
@Override public void onResendMessage(Message message) { MessageCompose.actionEditDraft(this, message.makeMessageReference()); }