// FragmentInstallable @Override public void onUninstallFragment(Fragment fragment) { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) { Log.d(Logging.LOG_TAG, this + " onUninstallFragment fragment=" + fragment); } mUIController.onUninstallFragment(fragment); }
@Override @SuppressWarnings("deprecation") public boolean onOptionsItemSelected(MenuItem item) { if (mUIController.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); }
/** * Called when the search key is pressd. * * <p>Use the below command to emulate the key press on devices without the search key. adb shell * input keyevent 84 */ @Override public boolean onSearchRequested() { if (Email.DEBUG) { Log.d(Logging.LOG_TAG, this + " onSearchRequested"); } mUIController.onSearchRequested(); return true; // Event handled. }
@Override protected void onDestroy() { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) Log.d(Logging.LOG_TAG, this + " onDestroy"); mController.removeResultCallback(mControllerResult); mTaskTracker.cancellAllInterrupt(); mUIController.onActivityDestroy(); super.onDestroy(); }
@Override protected void installMessageViewFragment(MessageViewFragment fragment) { super.installMessageViewFragment(fragment); if (isMessageListInstalled()) { getMessageListFragment().setSelectedMessage(fragment.getMessageId()); } }
@Override protected void onSaveInstanceState(Bundle outState) { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) { Log.d(Logging.LOG_TAG, this + " onSaveInstanceState"); } super.onSaveInstanceState(outState); mUIController.onSaveInstanceState(outState); }
@Override protected void installMessageListFragment(MessageListFragment fragment) { super.installMessageListFragment(fragment); if (isMailboxListInstalled()) { getMailboxListFragment().setHighlightedMailbox(fragment.getMailboxId()); } getMessageListFragment().setLayout(mThreePane); }
@Override public void onBackPressed() { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) { Log.d(Logging.LOG_TAG, this + " onBackPressed"); } if (!mUIController.onBackPressed(true)) { // Not handled by UIController -- perform the default. i.e. close the app. super.onBackPressed(); } }
/** Must be called just after the activity sets up the content view. */ @Override public void onActivityViewReady() { super.onActivityViewReady(); // Set up content mThreePane = (ThreePaneLayout) mActivity.findViewById(R.id.three_pane); mThreePane.setCallback(this); mMessageCommandButtons = mThreePane.getMessageCommandButtons(); mMessageCommandButtons.setCallback(new CommandButtonCallback()); }
@Override protected void onResume() { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) Log.d(Logging.LOG_TAG, this + " onResume"); super.onResume(); mUIController.onActivityResume(); /** * In {@link MessageList#onResume()}, we go back to {@link Welcome} if an account has been * added/removed. We don't need to do that here, because we fetch the most up-to-date account * list. Additionally, we detect and do the right thing if all of the accounts have been * removed. */ }
@Override public boolean onPrepareOptionsMenu(Menu menu) { return mUIController.onPrepareOptionsMenu(getMenuInflater(), menu); }
@Override protected void onStop() { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) Log.d(Logging.LOG_TAG, this + " onStop"); super.onStop(); mUIController.onActivityStop(); }
@Override protected void onCreate(Bundle savedInstanceState) { if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) Log.d(Logging.LOG_TAG, this + " onCreate"); float fontScale = getResources().getConfiguration().fontScale; if (sLastFontScale != -1 && sLastFontScale != fontScale) { // If the font scale has been initialized, and has been detected to be different than // the last time the Activity ran, it means the user changed the font while no // Email Activity was running - we still need to purge static information though. onFontScaleChangeDetected(); } sLastFontScale = fontScale; // UIController is used in onPrepareOptionsMenu(), which can be called from within // super.onCreate(), so we need to initialize it here. initUIController(); super.onCreate(savedInstanceState); ActivityHelper.debugSetWindowFlags(this); final Intent intent = getIntent(); boolean fromKeyguard = intent.getBooleanExtra(EXTRA_FROM_KEYGUARD, false); if (Logging.DEBUG_LIFECYCLE && Email.DEBUG) { Log.d(Logging.LOG_TAG, "FLAG_DISMISS_KEYGUARD " + fromKeyguard); } if (fromKeyguard) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); } setContentView(mUIController.getLayoutId()); mUIController.onActivityViewReady(); mController = Controller.getInstance(this); mControllerResult = new ControllerResultUiThreadWrapper<ControllerResult>( new Handler(), new ControllerResult()); mController.addResultCallback(mControllerResult); // Set up views // TODO Probably better to extract mErrorMessageView related code into a separate class, // so that it'll be easy to reuse for the phone activities. TextView errorMessage = (TextView) findViewById(R.id.error_message); errorMessage.setOnClickListener(this); int errorBannerHeight = getResources().getDimensionPixelSize(R.dimen.error_message_height); mErrorBanner = new BannerController(this, errorMessage, errorBannerHeight); if (savedInstanceState != null) { mUIController.onRestoreInstanceState(savedInstanceState); } else { final MessageListContext viewContext = MessageListContext.forIntent(this, intent); if (viewContext == null) { // This might happen if accounts were deleted on another thread, and there aren't // any remaining Welcome.actionStart(this); finish(); return; } else { final long messageId = intent.getLongExtra(EXTRA_MESSAGE_ID, Message.NO_MESSAGE); mUIController.open(viewContext, messageId); } } mUIController.onActivityCreated(); }
/** {@inheritDoc} */ @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); }
/** {@inheritDoc} */ @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); }