@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 void onResendMessage(Message message) { MessageCompose.actionEditDraft(this, message.makeMessageReference()); }