summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzhuw <zhuw@codeaurora.org>2016-09-05 13:15:50 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-04 23:39:06 -0700
commit429d4f24ae72e22e2d8e4c14d53d8a832bf18eaf (patch)
treedbecba1eca15ef4562c1d3b2d5f3a27bdd25983b
parentcd2bc86e33a71088c8392709cc46073b9ee6d216 (diff)
downloadandroid_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
-rw-r--r--src/com/android/gallery3d/ui/ActionModeHandler.java2
-rw-r--r--src/com/android/gallery3d/ui/MenuExecutor.java10
-rw-r--r--src/com/android/gallery3d/ui/SelectionMenu.java6
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;
+ }
}