From 8a9b27773b2bd6f84a861bb0d38dcfebb3b8cfa7 Mon Sep 17 00:00:00 2001 From: Michael Kwan Date: Tue, 13 Dec 2016 17:10:12 -0800 Subject: [PATCH] Fix swipe-to-dismiss to properly react to swipe gestures. Test: manual test Bug: 33588580 Change-Id: If8d03f90a25e989e254e3a21bafef4e76bab5d7b --- .../android/internal/widget/SwipeDismissLayout.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/core/java/com/android/internal/widget/SwipeDismissLayout.java b/core/java/com/android/internal/widget/SwipeDismissLayout.java index bdcfff2f3b410..e80d812618c8e 100644 --- a/core/java/com/android/internal/widget/SwipeDismissLayout.java +++ b/core/java/com/android/internal/widget/SwipeDismissLayout.java @@ -330,18 +330,16 @@ public class SwipeDismissLayout extends FrameLayout { mVelocityTracker.addMovement(ev); mVelocityTracker.computeCurrentVelocity(1000); if (!mDismissed) { - - if (deltaX > (getWidth() * DISMISS_MIN_DRAG_WIDTH_RATIO) && - ev.getRawX() >= mLastX) { + if ((deltaX > (getWidth() * DISMISS_MIN_DRAG_WIDTH_RATIO) && + ev.getRawX() >= mLastX) + || mVelocityTracker.getXVelocity() >= mMinFlingVelocity) { mDismissed = true; } } // Check if the user tried to undo this. if (mDismissed && mSwiping) { - // Check if the user's finger is actually back - if (deltaX < (getWidth() * DISMISS_MIN_DRAG_WIDTH_RATIO) || - // or user is flinging back left - mVelocityTracker.getXVelocity() < -mMinFlingVelocity) { + // Check if the user's finger is actually flinging back to left + if (mVelocityTracker.getXVelocity() < -mMinFlingVelocity) { mDismissed = false; } }