summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-06-27 00:05:15 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-06-27 00:05:15 -0700
commitbb52543c6ba40749d7046f6ea9da4a8b30793f8d (patch)
tree52a310820534787322ad5fe972c4c9f0de57ebe8 /src
parentfc826a5ff488e9e3b27d2a521518e0ae5346b9fe (diff)
parentc370476adcf29f311ceec70a119792a0168781e9 (diff)
downloadandroid_packages_apps_Gallery2-bb52543c6ba40749d7046f6ea9da4a8b30793f8d.tar.gz
android_packages_apps_Gallery2-bb52543c6ba40749d7046f6ea9da4a8b30793f8d.tar.bz2
android_packages_apps_Gallery2-bb52543c6ba40749d7046f6ea9da4a8b30793f8d.zip
Merge "Show undo option for 3 seconds after the last picture is deleted." into jb-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java7
-rw-r--r--src/com/android/gallery3d/data/FilterDeleteSet.java7
2 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index 568f5901f..17f57c204 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -253,7 +253,12 @@ public class PhotoPage extends ActivityState implements
MediaItem photo = mModel.getMediaItem(0);
if (photo != null) updateCurrentPhoto(photo);
} else if (mIsActive) {
- mActivity.getStateManager().finishState(PhotoPage.this);
+ // We only want to finish the PhotoPage if there is no
+ // deletion that the user can undo.
+ if (mMediaSet.getNumberOfDeletions() == 0) {
+ mActivity.getStateManager().finishState(
+ PhotoPage.this);
+ }
}
}
diff --git a/src/com/android/gallery3d/data/FilterDeleteSet.java b/src/com/android/gallery3d/data/FilterDeleteSet.java
index 97bbc1256..dbd85d57d 100644
--- a/src/com/android/gallery3d/data/FilterDeleteSet.java
+++ b/src/com/android/gallery3d/data/FilterDeleteSet.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
// void addDeletion(Path path, int index);
// void removeDelection(Path path);
// void clearDeletion();
+// int getNumberOfDeletions();
//
public class FilterDeleteSet extends MediaSet implements ContentListener {
private static final String TAG = "FilterDeleteSet";
@@ -242,4 +243,10 @@ public class FilterDeleteSet extends MediaSet implements ContentListener {
public void clearDeletion() {
sendRequest(REQUEST_CLEAR, null /* unused */ , 0 /* unused */);
}
+
+ // Returns number of deletions _in effect_ (the number will only gets
+ // updated after a reload()).
+ public int getNumberOfDeletions() {
+ return mCurrent.size();
+ }
}