summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-04-25 11:50:08 +0800
committerChih-Chung Chang <chihchung@google.com>2012-04-25 12:03:03 +0800
commit9e65a3ae634f0e5b6fccaa929b54b884be0380e4 (patch)
tree1e2da2e84a5a2a4520d983cd694332574004c6df
parent210934990196deeea0d19a148e85b3c1c136eb40 (diff)
downloadandroid_packages_apps_Snap-9e65a3ae634f0e5b6fccaa929b54b884be0380e4.tar.gz
android_packages_apps_Snap-9e65a3ae634f0e5b6fccaa929b54b884be0380e4.tar.bz2
android_packages_apps_Snap-9e65a3ae634f0e5b6fccaa929b54b884be0380e4.zip
Don't do capture animation if we don't have Camera ScreenNail.
Also make "Back" jump to first picture instead of the previous one. Bug: 6388263 Change-Id: Idf78363cf3952bf66c6b0688e79d99c01956cd07
-rw-r--r--src/com/android/gallery3d/app/PhotoDataAdapter.java5
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java3
-rw-r--r--src/com/android/gallery3d/app/SinglePhotoDataAdapter.java5
-rw-r--r--src/com/android/gallery3d/ui/PhotoView.java8
4 files changed, 18 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/app/PhotoDataAdapter.java b/src/com/android/gallery3d/app/PhotoDataAdapter.java
index 096e781de..d0fde246f 100644
--- a/src/com/android/gallery3d/app/PhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/PhotoDataAdapter.java
@@ -340,6 +340,11 @@ public class PhotoDataAdapter implements PhotoPage.Model {
}
@Override
+ public void moveToFirst() {
+ updateCurrentIndex(0);
+ }
+
+ @Override
public ScreenNail getScreenNail(int offset) {
return getImage(mCurrentIndex + offset);
}
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index 6617ce668..6e5343ba8 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -403,7 +403,8 @@ public class PhotoPage extends ActivityState
protected void onBackPressed() {
if (mShowDetails) {
hideDetails();
- } else if (!switchWithCaptureAnimation(-1)) {
+ } else if (mScreenNail == null
+ || !switchWithCaptureAnimation(-1)) {
super.onBackPressed();
}
}
diff --git a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
index 47f6acba9..d0e8161d7 100644
--- a/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
+++ b/src/com/android/gallery3d/app/SinglePhotoDataAdapter.java
@@ -164,6 +164,11 @@ public class SinglePhotoDataAdapter extends TileImageViewAdapter
}
@Override
+ public void moveToFirst() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void getImageSize(int offset, PhotoView.Size size) {
if (offset == 0) {
size.width = mItem.getWidth();
diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java
index 66941bee6..5487e3ecb 100644
--- a/src/com/android/gallery3d/ui/PhotoView.java
+++ b/src/com/android/gallery3d/ui/PhotoView.java
@@ -52,6 +52,7 @@ public class PhotoView extends GLView {
public interface Model extends TileImageView.Model {
public void next();
public void previous();
+ public void moveToFirst();
// Returns the size for the specified picture. If the size information is
// not avaiable, width = height = 0.
@@ -935,6 +936,10 @@ public class PhotoView extends GLView {
mModel.previous();
}
+ private void switchToFirstImage() {
+ mModel.moveToFirst();
+ }
+
////////////////////////////////////////////////////////////////////////////
// Opening Animation
////////////////////////////////////////////////////////////////////////////
@@ -958,7 +963,6 @@ public class PhotoView extends GLView {
}
private boolean switchWithCaptureAnimationLocked(int offset) {
- if (mFilmMode) return false;
if (mHolding != 0) return true;
if (offset == 1) {
if (mNextBound <= 0) return false;
@@ -966,7 +970,7 @@ public class PhotoView extends GLView {
mPositionController.startCaptureAnimationSlide(-1);
} else if (offset == -1) {
if (mPrevBound >= 0) return false;
- switchToPrevImage();
+ switchToFirstImage();
mPositionController.startCaptureAnimationSlide(1);
} else {
return false;