@Override public void onSelectionModeChange(int mode) { switch (mode) { case SelectionManager.ENTER_SELECTION_MODE: { mActionBar.disableClusterMenu(true); mActionModeHandler.startActionMode(); performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); break; } case SelectionManager.LEAVE_SELECTION_MODE: { mActionModeHandler.finishActionMode(); if (mShowClusterMenu) { mActionBar.enableClusterMenu(mSelectedAction, this); } mRootPane.invalidate(); break; } case SelectionManager.SELECT_ALL_MODE: { mActionModeHandler.updateSupportedOperation(); mRootPane.invalidate(); break; } } }
@Override protected boolean onCreateActionBar(Menu menu) { Activity activity = mActivity; final boolean inAlbum = mActivity.getStateManager().hasStateClass(AlbumPage.class); MenuInflater inflater = getSupportMenuInflater(); if (mGetContent) { inflater.inflate(R.menu.pickup, menu); int typeBits = mData.getInt(GalleryActivity.KEY_TYPE_BITS, DataManager.INCLUDE_IMAGE); mActionBar.setTitle(GalleryUtils.getSelectionModePrompt(typeBits)); } else if (mGetAlbum) { inflater.inflate(R.menu.pickup, menu); mActionBar.setTitle(R.string.select_album); } else { inflater.inflate(R.menu.albumset, menu); boolean wasShowingClusterMenu = mShowClusterMenu; mShowClusterMenu = !inAlbum; if (mShowClusterMenu != wasShowingClusterMenu) { if (mShowClusterMenu) { mActionBar.enableClusterMenu(mSelectedAction, this); } else { mActionBar.disableClusterMenu(true); } } boolean selectAlbums = !inAlbum && mActionBar.getClusterTypeAction() == FilterUtils.CLUSTER_BY_ALBUM; MenuItem selectItem = menu.findItem(R.id.action_select); selectItem.setTitle( activity.getString(selectAlbums ? R.string.select_album : R.string.select_group)); MenuItem cameraItem = menu.findItem(R.id.action_camera); cameraItem.setVisible(GalleryUtils.isCameraAvailable(activity)); FilterUtils.setupMenuItems(mActionBar, mMediaSet.getPath(), false); Intent helpIntent = HelpUtils.getHelpIntent(activity); MenuItem helpItem = menu.findItem(R.id.action_general_help); helpItem.setVisible(helpIntent != null); if (helpIntent != null) helpItem.setIntent(helpIntent); MenuItem moreItem = menu.findItem(R.id.action_more_image); moreItem.setVisible(mActivity.getResources().getBoolean(R.bool.config_show_more_images)); mActionBar.setTitle(mTitle); mActionBar.setSubtitle(mSubtitle); } return true; }
@Override public void onPause() { super.onPause(); mIsActive = false; mAlbumSetDataAdapter.pause(); mAlbumSetView.pause(); mActionModeHandler.pause(); mEyePosition.pause(); DetailsHelper.pause(); // Call disableClusterMenu to avoid receiving callback after paused. // Don't hide menu here otherwise the list menu will disappear earlier than // the action bar, which is janky and unwanted behavior. mActionBar.disableClusterMenu(false); if (mSyncTask != null) { mSyncTask.cancel(); mSyncTask = null; clearLoadingBit(BIT_LOADING_SYNC); } }