From 362c4441b65f63dfc3cf933d569aba6e00dc168a Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Thu, 5 Sep 2013 00:30:09 -0700 Subject: Tone down the sensitivity of swipe for square contact tiles Bug: 10510033 Change-Id: I57961e3f7dcc8c65dfb814afd808d01b68803f14 --- .../dialer/list/PhoneFavoritesTileAdapter.java | 3 +++ src/com/android/dialer/list/SwipeHelper.java | 23 ++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java index 1c6ffde38..8eba964b2 100644 --- a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java +++ b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java @@ -715,6 +715,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements .getScaledPagingTouchSlop(); mSwipeHelper = new SwipeHelper(context, SwipeHelper.X, this, densityScale, pagingTouchSlop); + // Increase swipe thresholds for square tiles since they are relatively small. + mSwipeHelper.setChildSwipedFarEnoughFactor(0.9f); + mSwipeHelper.setChildSwipedFastEnoughFactor(0.1f); mOnItemSwipeListener = PhoneFavoritesTileAdapter.this; } } diff --git a/src/com/android/dialer/list/SwipeHelper.java b/src/com/android/dialer/list/SwipeHelper.java index 152171432..ce46ec3eb 100644 --- a/src/com/android/dialer/list/SwipeHelper.java +++ b/src/com/android/dialer/list/SwipeHelper.java @@ -89,6 +89,9 @@ public class SwipeHelper { private float mStartAlpha; private boolean mProtected = false; + private float mChildSwipedFarEnoughFactor = 0.4f; + private float mChildSwipedFastEnoughFactor = 0.05f; + public SwipeHelper(Context context, int swipeDirection, SwipeHelperCallback callback, float densityScale, float pagingTouchSlop) { mCallback = callback; @@ -118,6 +121,14 @@ public class SwipeHelper { mPagingTouchSlop = pagingTouchSlop; } + public void setChildSwipedFarEnoughFactor(float factor) { + mChildSwipedFarEnoughFactor = factor; + } + + public void setChildSwipedFastEnoughFactor(float factor) { + mChildSwipedFastEnoughFactor = factor; + } + private float getVelocity(VelocityTracker vt) { return mSwipeDirection == X ? vt.getXVelocity() : vt.getYVelocity(); @@ -407,15 +418,15 @@ public class SwipeHelper { // swipe/dismiss float translation = Math.abs(mCurrAnimView.getTranslationX()); float currAnimViewSize = getSize(mCurrAnimView); - // Long swipe = translation of .4 * width + // Long swipe = translation of {@link #mChildSwipedFarEnoughFactor} * width boolean childSwipedFarEnough = DISMISS_IF_SWIPED_FAR_ENOUGH - && translation > 0.4 * currAnimViewSize; - // Fast swipe = > escapeVelocity and translation of .1 * - // width + && translation > mChildSwipedFarEnoughFactor * currAnimViewSize; + // Fast swipe = > escapeVelocity and translation of + // {@link #mChildSwipedFastEnoughFactor} * width boolean childSwipedFastEnough = (Math.abs(velocity) > escapeVelocity) && (Math.abs(velocity) > Math.abs(perpendicularVelocity)) && (velocity > 0) == (mCurrAnimView.getTranslationX() > 0) - && translation > 0.05 * currAnimViewSize; + && translation > mChildSwipedFastEnoughFactor * currAnimViewSize; if (LOG_SWIPE_DISMISS_VELOCITY) { Log.v(TAG, "Swipe/Dismiss: " + velocity + "/" + escapeVelocity + "/" + perpendicularVelocity + ", x: " + translation + "/" @@ -468,4 +479,4 @@ public class SwipeHelper { public boolean isSwipeEnabled(); } -} \ No newline at end of file +} -- cgit v1.2.3