diff options
author | Justin Harrison <astyrrian@google.com> | 2014-12-04 17:37:24 +0000 |
---|---|---|
committer | Justin Harrison <astyrrian@google.com> | 2014-12-04 17:37:24 +0000 |
commit | 3f7dac5a1ccf5d464070c1a067d1d50741bdbd0e (patch) | |
tree | e0842f6b722965235ab62cf48eac8b9fe93b96ff /packages/SystemUI | |
parent | 00d947bda0b9a2ea133dfd7b0e445245a0e2c23c (diff) | |
download | frameworks_base-3f7dac5a1ccf5d464070c1a067d1d50741bdbd0e.zip frameworks_base-3f7dac5a1ccf5d464070c1a067d1d50741bdbd0e.tar.gz frameworks_base-3f7dac5a1ccf5d464070c1a067d1d50741bdbd0e.tar.bz2 |
Revert "Improve fling physics for recents"
This reverts commit 00d947bda0b9a2ea133dfd7b0e445245a0e2c23c.
Change-Id: I3d6696227a381d232baed8fdbcbe34d3c4976ebe
Diffstat (limited to 'packages/SystemUI')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java | 4 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java | 19 |
2 files changed, 16 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java index 0428b48..fa44551 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java @@ -50,6 +50,7 @@ public class SwipeHelper { private float SWIPE_ESCAPE_VELOCITY = 100f; // dp/sec private int DEFAULT_ESCAPE_ANIMATION_DURATION = 75; // ms private int MAX_ESCAPE_ANIMATION_DURATION = 150; // ms + private int MAX_DISMISS_VELOCITY = 2000; // dp/sec private static final int SNAP_ANIM_LEN = SLOW_ANIMATIONS ? 1000 : 250; // ms public static float ALPHA_FADE_START = 0.15f; // fraction of thumbnail width @@ -349,7 +350,8 @@ public class SwipeHelper { } private void endSwipe(VelocityTracker velocityTracker) { - velocityTracker.computeCurrentVelocity(1000 /* px/sec */); + float maxVelocity = MAX_DISMISS_VELOCITY * mDensityScale; + velocityTracker.computeCurrentVelocity(1000 /* px/sec */, maxVelocity); float velocity = getVelocity(velocityTracker); float perpendicularVelocity = getPerpendicularVelocity(velocityTracker); float escapeVelocity = SWIPE_ESCAPE_VELOCITY * mDensityScale; diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java index c59f82c..2b173a9 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java @@ -143,21 +143,22 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { // Initialize the velocity tracker initOrResetVelocityTracker(); mVelocityTracker.addMovement(createMotionEventForStackScroll(ev)); + // Check if the scroller is finished yet + mIsScrolling = mScroller.isScrolling(); break; } case MotionEvent.ACTION_MOVE: { if (mActivePointerId == INACTIVE_POINTER_ID) break; - // Initialize the velocity tracker if necessary - initVelocityTrackerIfNotExists(); - mVelocityTracker.addMovement(createMotionEventForStackScroll(ev)); - int activePointerIndex = ev.findPointerIndex(mActivePointerId); int y = (int) ev.getY(activePointerIndex); int x = (int) ev.getX(activePointerIndex); if (Math.abs(y - mInitialMotionY) > mScrollTouchSlop) { // Save the touch move info mIsScrolling = true; + // Initialize the velocity tracker if necessary + initVelocityTrackerIfNotExists(); + mVelocityTracker.addMovement(createMotionEventForStackScroll(ev)); // Disallow parents from intercepting touch events final ViewParent parent = mSv.getParent(); if (parent != null) { @@ -236,8 +237,6 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { case MotionEvent.ACTION_MOVE: { if (mActivePointerId == INACTIVE_POINTER_ID) break; - mVelocityTracker.addMovement(createMotionEventForStackScroll(ev)); - int activePointerIndex = ev.findPointerIndex(mActivePointerId); int x = (int) ev.getX(activePointerIndex); int y = (int) ev.getY(activePointerIndex); @@ -247,6 +246,9 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { if (!mIsScrolling) { if (yTotal > mScrollTouchSlop) { mIsScrolling = true; + // Initialize the velocity tracker + initOrResetVelocityTracker(); + mVelocityTracker.addMovement(createMotionEventForStackScroll(ev)); // Disallow parents from intercepting touch events final ViewParent parent = mSv.getParent(); if (parent != null) { @@ -265,6 +267,11 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { / maxOverScroll)); } mScroller.setStackScroll(curStackScroll + deltaP); + if (mScroller.isScrollOutOfBounds()) { + mVelocityTracker.clear(); + } else { + mVelocityTracker.addMovement(createMotionEventForStackScroll(ev)); + } } mLastMotionX = x; mLastMotionY = y; |