diff options
author | Bobby Georgescu <georgescu@google.com> | 2012-10-03 14:13:10 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-03 14:13:10 -0700 |
commit | 7411e79a0396d3c78bb3a55bc82c741840d85605 (patch) | |
tree | 8b5222722fa4d338de968e56486a4ff85d7f3318 | |
parent | ac28e0055388e1d3fab2d6f00e47696e4797c0cb (diff) | |
parent | 91227ee2d83cf8d4ca353d442777567293808eb5 (diff) | |
download | android_packages_apps_Snap-7411e79a0396d3c78bb3a55bc82c741840d85605.tar.gz android_packages_apps_Snap-7411e79a0396d3c78bb3a55bc82c741840d85605.tar.bz2 android_packages_apps_Snap-7411e79a0396d3c78bb3a55bc82c741840d85605.zip |
Merge "Fix snapping behavior in filmstrip" into gb-ub-photos-arches
-rw-r--r-- | src/com/android/gallery3d/ui/PhotoView.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java index 8c9c6d757..a5a15bf43 100644 --- a/src/com/android/gallery3d/ui/PhotoView.java +++ b/src/com/android/gallery3d/ui/PhotoView.java @@ -941,6 +941,8 @@ public class PhotoView extends GLView { private int mDeltaY; // The accumulated scaling change from a scaling gesture. private float mAccScale; + // If an onFling happened after the last onDown + private boolean mHadFling; @Override public boolean onSingleTapUp(float x, float y) { @@ -1059,6 +1061,7 @@ public class PhotoView extends GLView { } else { flingImages(velocityX, velocityY); } + mHadFling = true; return true; } @@ -1212,7 +1215,7 @@ public class PhotoView extends GLView { } else { mDownInScrolling = false; } - + mHadFling = false; mScrolledAfterDown = false; if (mFilmMode) { int xi = (int) (x + 0.5f); @@ -1256,8 +1259,11 @@ public class PhotoView extends GLView { mIgnoreUpEvent = false; return; } - - snapback(); + if (!mFilmMode || mHadFling) { + snapback(); + } else { + snapToNeighborImage(); + } } public void setSwipingEnabled(boolean enabled) { @@ -1531,14 +1537,12 @@ public class PhotoView extends GLView { private void snapback() { if ((mHolding & ~HOLD_DELETE) != 0) return; - if (!snapToNeighborImage()) { + if (mFilmMode || !snapToNeighborImage()) { mPositionController.snapback(); } } private boolean snapToNeighborImage() { - if (mFilmMode) return false; - Rect r = mPositionController.getPosition(0); int viewW = getWidth(); // Setting the move threshold proportional to the width of the view |