summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2012-08-29 02:31:41 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-29 02:31:42 -0700
commit25f2aa192479a87abdec2ab66b05820290c465d3 (patch)
treee9531fe00582a280e1c55d6364cea147e7a18e26
parent894300ca4d2da44e9c4fb5d8ec7d7a5d8662da51 (diff)
parenta5371c293c15a3aa09ba7465ab48de36f275214c (diff)
downloadandroid_packages_apps_Snap-25f2aa192479a87abdec2ab66b05820290c465d3.tar.gz
android_packages_apps_Snap-25f2aa192479a87abdec2ab66b05820290c465d3.tar.bz2
android_packages_apps_Snap-25f2aa192479a87abdec2ab66b05820290c465d3.zip
Merge "Fix pinch out gesture for film strip mode on gingerbread." into gb-ub-photos-arches
-rw-r--r--src/com/android/gallery3d/ui/PhotoView.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java
index 25d3154a9..5c4c1e970 100644
--- a/src/com/android/gallery3d/ui/PhotoView.java
+++ b/src/com/android/gallery3d/ui/PhotoView.java
@@ -21,6 +21,7 @@ import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.Rect;
+import android.os.Build;
import android.os.Message;
import android.util.FloatMath;
import android.view.MotionEvent;
@@ -29,6 +30,7 @@ import android.view.animation.AccelerateInterpolator;
import com.android.gallery3d.R;
import com.android.gallery3d.app.AbstractGalleryActivity;
+import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.MediaItem;
import com.android.gallery3d.data.MediaObject;
@@ -945,6 +947,19 @@ public class PhotoView extends GLView {
@Override
public boolean onSingleTapUp(float x, float y) {
+ // On crespo running Android 2.3.6 (gingerbread), a pinch out gesture results in the
+ // following call sequence: onDown(), onUp() and then onSingleTapUp(). The correct
+ // sequence for a single-tap-up gesture should be: onDown(), onSingleTapUp() and onUp().
+ // The call sequence for a pinch out gesture in JB is: onDown(), then onUp() and there's
+ // no onSingleTapUp(). Base on these observations, the following condition is added to
+ // filter out the false alarm where onSingleTapUp() is called within a pinch out
+ // gesture. The framework fix went into ICS. Refer to b/4588114.
+ if (Build.VERSION.SDK_INT < ApiHelper.VERSION_CODES.ICE_CREAM_SANDWICH) {
+ if ((mHolding & HOLD_TOUCH_DOWN) == 0) {
+ return true;
+ }
+ }
+
// We do this in addition to onUp() because we want the snapback of
// setFilmMode to happen.
mHolding &= ~HOLD_TOUCH_DOWN;