summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui
diff options
context:
space:
mode:
authorBobby Georgescu <georgescu@google.com>2012-10-26 04:59:23 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-10-26 04:59:24 -0700
commitf9f56e5d0e7d0662da26f15d609a601cef5d0fb2 (patch)
treea9881541a8e0dafc6cf659d55da3c31ff8d4bdc5 /src/com/android/gallery3d/ui
parenta4f31025a49ef4a8e1ebf8ab6d1e7134f37556d5 (diff)
parentf33af70636db6496747b905ccc81f6511894c039 (diff)
downloadandroid_packages_apps_Snap-f9f56e5d0e7d0662da26f15d609a601cef5d0fb2.tar.gz
android_packages_apps_Snap-f9f56e5d0e7d0662da26f15d609a601cef5d0fb2.tar.bz2
android_packages_apps_Snap-f9f56e5d0e7d0662da26f15d609a601cef5d0fb2.zip
Merge "Hold WakeLock for batch delete operation" into gb-ub-photos-arches
Diffstat (limited to 'src/com/android/gallery3d/ui')
-rw-r--r--src/com/android/gallery3d/ui/ActionModeHandler.java9
-rw-r--r--src/com/android/gallery3d/ui/ImportCompleteListener.java36
-rw-r--r--src/com/android/gallery3d/ui/WakeLockHoldingProgressListener.java66
3 files changed, 80 insertions, 31 deletions
diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java
index bb195c91e..7191599ad 100644
--- a/src/com/android/gallery3d/ui/ActionModeHandler.java
+++ b/src/com/android/gallery3d/ui/ActionModeHandler.java
@@ -151,6 +151,8 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi
mListener = listener;
}
+ private WakeLockHoldingProgressListener mDeleteProgressListener;
+
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
GLRoot root = mActivity.getGLRoot();
@@ -173,9 +175,14 @@ public class ActionModeHandler implements Callback, PopupList.OnPopupItemClickLi
int action = item.getItemId();
if (action == R.id.action_import) {
listener = new ImportCompleteListener(mActivity);
- } else if (item.getItemId() == R.id.action_delete) {
+ } else if (action == R.id.action_delete) {
confirmMsg = mActivity.getResources().getQuantityString(
R.plurals.delete_selection, mSelectionManager.getSelectedCount());
+ if (mDeleteProgressListener == null) {
+ mDeleteProgressListener = new WakeLockHoldingProgressListener(mActivity,
+ "Gallery Delete Progress Listener");
+ }
+ listener = mDeleteProgressListener;
}
mMenuExecutor.onMenuClicked(item, confirmMsg, listener);
} finally {
diff --git a/src/com/android/gallery3d/ui/ImportCompleteListener.java b/src/com/android/gallery3d/ui/ImportCompleteListener.java
index 30af47065..8d6e981ce 100644
--- a/src/com/android/gallery3d/ui/ImportCompleteListener.java
+++ b/src/com/android/gallery3d/ui/ImportCompleteListener.java
@@ -16,10 +16,7 @@
package com.android.gallery3d.ui;
-import android.app.Activity;
-import android.content.Context;
import android.os.Bundle;
-import android.os.PowerManager;
import android.widget.Toast;
import com.android.gallery3d.R;
@@ -27,19 +24,16 @@ import com.android.gallery3d.app.AbstractGalleryActivity;
import com.android.gallery3d.app.AlbumPage;
import com.android.gallery3d.util.MediaSetUtils;
-public class ImportCompleteListener implements MenuExecutor.ProgressListener {
- private AbstractGalleryActivity mActivity;
- private PowerManager.WakeLock mWakeLock;
+public class ImportCompleteListener extends WakeLockHoldingProgressListener {
+ private static final String WAKE_LOCK_LABEL = "Gallery Album Import";
public ImportCompleteListener(AbstractGalleryActivity galleryActivity) {
- mActivity = galleryActivity;
- PowerManager pm =
- (PowerManager) ((Activity) mActivity).getSystemService(Context.POWER_SERVICE);
- mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "Gallery Album Import");
+ super(galleryActivity, WAKE_LOCK_LABEL);
}
@Override
public void onProgressComplete(int result) {
+ super.onProgressComplete(result);
int message;
if (result == MenuExecutor.EXECUTION_RESULT_SUCCESS) {
message = R.string.import_complete;
@@ -47,31 +41,13 @@ public class ImportCompleteListener implements MenuExecutor.ProgressListener {
} else {
message = R.string.import_fail;
}
- Toast.makeText(mActivity.getAndroidContext(), message, Toast.LENGTH_LONG).show();
- mWakeLock.release();
- }
-
- @Override
- public void onProgressUpdate(int index) {
- }
-
- @Override
- public void onProgressStart() {
- mWakeLock.acquire();
+ Toast.makeText(getActivity().getAndroidContext(), message, Toast.LENGTH_LONG).show();
}
private void goToImportedAlbum() {
String pathOfImportedAlbum = "/local/all/" + MediaSetUtils.IMPORTED_BUCKET_ID;
Bundle data = new Bundle();
data.putString(AlbumPage.KEY_MEDIA_PATH, pathOfImportedAlbum);
- mActivity.getStateManager().startState(AlbumPage.class, data);
- }
-
- @Override
- public void onConfirmDialogDismissed(boolean confirmed) {
- }
-
- @Override
- public void onConfirmDialogShown() {
+ getActivity().getStateManager().startState(AlbumPage.class, data);
}
}
diff --git a/src/com/android/gallery3d/ui/WakeLockHoldingProgressListener.java b/src/com/android/gallery3d/ui/WakeLockHoldingProgressListener.java
new file mode 100644
index 000000000..ee61d8edb
--- /dev/null
+++ b/src/com/android/gallery3d/ui/WakeLockHoldingProgressListener.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.gallery3d.ui;
+
+import android.app.Activity;
+import android.content.Context;
+import android.os.PowerManager;
+
+import com.android.gallery3d.app.AbstractGalleryActivity;
+
+public class WakeLockHoldingProgressListener implements MenuExecutor.ProgressListener {
+ static private final String DEFAULT_WAKE_LOCK_LABEL = "Gallery Progress Listener";
+ private AbstractGalleryActivity mActivity;
+ private PowerManager.WakeLock mWakeLock;
+
+ public WakeLockHoldingProgressListener(AbstractGalleryActivity galleryActivity) {
+ this(galleryActivity, DEFAULT_WAKE_LOCK_LABEL);
+ }
+
+ public WakeLockHoldingProgressListener(AbstractGalleryActivity galleryActivity, String label) {
+ mActivity = galleryActivity;
+ PowerManager pm =
+ (PowerManager) ((Activity) mActivity).getSystemService(Context.POWER_SERVICE);
+ mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, label);
+ }
+
+ @Override
+ public void onProgressComplete(int result) {
+ mWakeLock.release();
+ }
+
+ @Override
+ public void onProgressStart() {
+ mWakeLock.acquire();
+ }
+
+ protected AbstractGalleryActivity getActivity() {
+ return mActivity;
+ }
+
+ @Override
+ public void onProgressUpdate(int index) {
+ }
+
+ @Override
+ public void onConfirmDialogDismissed(boolean confirmed) {
+ }
+
+ @Override
+ public void onConfirmDialogShown() {
+ }
+}