diff options
author | zhuw <zhuw@codeaurora.org> | 2016-09-05 13:15:50 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-04 23:39:06 -0700 |
commit | 429d4f24ae72e22e2d8e4c14d53d8a832bf18eaf (patch) | |
tree | dbecba1eca15ef4562c1d3b2d5f3a27bdd25983b /src/com/android/gallery3d/ui | |
parent | cd2bc86e33a71088c8392709cc46073b9ee6d216 (diff) | |
download | android_packages_apps_Gallery2-429d4f24ae72e22e2d8e4c14d53d8a832bf18eaf.tar.gz android_packages_apps_Gallery2-429d4f24ae72e22e2d8e4c14d53d8a832bf18eaf.tar.bz2 android_packages_apps_Gallery2-429d4f24ae72e22e2d8e4c14d53d8a832bf18eaf.zip |
SnapdragonGallery: Fix display "Deselect all" when leaving selected mode
Add a value to prevent popup showing when leaving selected mode
Change-Id: I880ad0c55615e4fca39759280e858e5fde1337b7
CRs-Fixed: 1063256
Diffstat (limited to 'src/com/android/gallery3d/ui')
-rw-r--r-- | src/com/android/gallery3d/ui/ActionModeHandler.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/MenuExecutor.java | 10 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/SelectionMenu.java | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java index 4765c6838..04d361a19 100644 --- a/src/com/android/gallery3d/ui/ActionModeHandler.java +++ b/src/com/android/gallery3d/ui/ActionModeHandler.java @@ -138,6 +138,7 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi } public void startActionMode() { + mMenuExecutor.setLeaving(false); Activity a = mActivity; // mActionMode = a.startActionMode(this); mActionMode = mActivity.getToolbar().startActionMode(this); @@ -213,6 +214,7 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi if (itemId == R.id.action_select_all) { updateSupportedOperation(); mMenuExecutor.onMenuClicked(itemId, null, false, true); + mSelectionMenu.setLeaving(mMenuExecutor.isLeaving()); } return true; } finally { diff --git a/src/com/android/gallery3d/ui/MenuExecutor.java b/src/com/android/gallery3d/ui/MenuExecutor.java index c57e848e3..8f3409131 100644 --- a/src/com/android/gallery3d/ui/MenuExecutor.java +++ b/src/com/android/gallery3d/ui/MenuExecutor.java @@ -67,6 +67,7 @@ public class MenuExecutor { // wait the operation to finish when we want to stop it. private boolean mWaitOnStop; private boolean mPaused; + private boolean isLeaving = false; private final AbstractGalleryActivity mActivity; private final SelectionManager mSelectionManager; @@ -233,6 +234,14 @@ public class MenuExecutor { return new Intent(action).setDataAndType(manager.getContentUri(path), mimeType); } + public void setLeaving(boolean leaving) { + isLeaving = leaving; + } + + public boolean isLeaving() { + return isLeaving; + } + private void onMenuClicked(int action, ProgressListener listener) { onMenuClicked(action, listener, false, true); } @@ -243,6 +252,7 @@ public class MenuExecutor { switch (action) { case R.id.action_select_all: if (mSelectionManager.inSelectAllMode()) { + isLeaving = true; mSelectionManager.deSelectAll(); } else { mSelectionManager.selectAll(); diff --git a/src/com/android/gallery3d/ui/SelectionMenu.java b/src/com/android/gallery3d/ui/SelectionMenu.java index 4ee60b437..07815cd80 100644 --- a/src/com/android/gallery3d/ui/SelectionMenu.java +++ b/src/com/android/gallery3d/ui/SelectionMenu.java @@ -31,6 +31,7 @@ public class SelectionMenu implements OnClickListener { private final Context mContext; private final Button mButton; private final PopupList mPopupList; + private boolean isLeaving = false; public SelectionMenu(Context context, Button button, OnPopupItemClickListener listener) { mContext = context; @@ -44,6 +45,7 @@ public class SelectionMenu implements OnClickListener { @Override public void onClick(View v) { + if (isLeaving) return; mPopupList.show(); } @@ -58,4 +60,8 @@ public class SelectionMenu implements OnClickListener { public void setTitle(CharSequence title) { mButton.setText(title); } + + public void setLeaving(boolean leaving) { + isLeaving = leaving; + } } |