summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui
diff options
context:
space:
mode:
authorBobby Georgescu <georgescu@google.com>2012-12-03 13:56:00 -0800
committerBobby Georgescu <georgescu@google.com>2012-12-03 16:15:54 -0800
commit32f5fee98df0e2f4b30475bb2d04e5fafa969727 (patch)
tree846c279a0fa07dc59df716cc52cba178b7b11168 /src/com/android/gallery3d/ui
parent8d26578f8db895dadb7e0e1d7a56c00fa18183ec (diff)
downloadandroid_packages_apps_Snap-32f5fee98df0e2f4b30475bb2d04e5fafa969727.tar.gz
android_packages_apps_Snap-32f5fee98df0e2f4b30475bb2d04e5fafa969727.tar.bz2
android_packages_apps_Snap-32f5fee98df0e2f4b30475bb2d04e5fafa969727.zip
Move MenuExecutor operations into Service
Bug: 6680729 Change-Id: I538bb0a8783f7c1ff467ba8d8eb0deefdc0b6ea2
Diffstat (limited to 'src/com/android/gallery3d/ui')
-rw-r--r--src/com/android/gallery3d/ui/ActionModeHandler.java5
-rw-r--r--src/com/android/gallery3d/ui/MenuExecutor.java17
2 files changed, 19 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java
index 0a3318d8d..d90fc20d0 100644
--- a/src/com/android/gallery3d/ui/ActionModeHandler.java
+++ b/src/com/android/gallery3d/ui/ActionModeHandler.java
@@ -475,7 +475,12 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi
mMenuExecutor.pause();
}
+ public void destroy() {
+ mMenuExecutor.destroy();
+ }
+
public void resume() {
if (mSelectionManager.inSelectionMode()) updateSupportedOperation();
+ mMenuExecutor.resume();
}
}
diff --git a/src/com/android/gallery3d/ui/MenuExecutor.java b/src/com/android/gallery3d/ui/MenuExecutor.java
index 3d088d18a..847ec8953 100644
--- a/src/com/android/gallery3d/ui/MenuExecutor.java
+++ b/src/com/android/gallery3d/ui/MenuExecutor.java
@@ -63,6 +63,7 @@ public class MenuExecutor {
private Future<?> mTask;
// wait the operation to finish when we want to stop it.
private boolean mWaitOnStop;
+ private boolean mPaused;
private final AbstractGalleryActivity mActivity;
private final SelectionManager mSelectionManager;
@@ -114,7 +115,7 @@ public class MenuExecutor {
break;
}
case MSG_TASK_UPDATE: {
- if (mDialog != null) mDialog.setProgress(message.arg1);
+ if (mDialog != null && !mPaused) mDialog.setProgress(message.arg1);
if (message.obj != null) {
ProgressListener listener = (ProgressListener) message.obj;
listener.onProgressUpdate(message.arg1);
@@ -134,13 +135,23 @@ public class MenuExecutor {
if (mTask != null) {
if (!mWaitOnStop) mTask.cancel();
mTask.waitDone();
- mDialog.dismiss();
+ if (mDialog != null && mDialog.isShowing()) mDialog.dismiss();
mDialog = null;
mTask = null;
}
}
+ public void resume() {
+ mPaused = false;
+ if (mDialog != null) mDialog.show();
+ }
+
public void pause() {
+ mPaused = true;
+ if (mDialog != null && mDialog.isShowing()) mDialog.hide();
+ }
+
+ public void destroy() {
stopTaskAndDismissDialog();
}
@@ -335,7 +346,7 @@ public class MenuExecutor {
mDialog.show();
}
MediaOperation operation = new MediaOperation(action, ids, listener);
- mTask = mActivity.getThreadPool().submit(operation, null);
+ mTask = mActivity.getBatchServiceThreadPoolIfAvailable().submit(operation, null);
mWaitOnStop = waitOnStop;
}