diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-09-16 21:40:49 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2011-09-16 21:43:58 -0700 |
commit | b0c71eb9f50ce06327fa6bb6219f0970e04fd856 (patch) | |
tree | d6b88ffc318ae23124c750faf2dc0f873e97e0cf /core/java/android/widget | |
parent | 1afeea0f207f8b8b781f799f5d150b70495abb1a (diff) | |
download | frameworks_base-b0c71eb9f50ce06327fa6bb6219f0970e04fd856.zip frameworks_base-b0c71eb9f50ce06327fa6bb6219f0970e04fd856.tar.gz frameworks_base-b0c71eb9f50ce06327fa6bb6219f0970e04fd856.tar.bz2 |
Can't stop the fling!
Bug: 5335420
Fixed a bug in VelocityTracker where the output velocity was
not being set to zero when not available.
Added a condition to ensure that the velocity is at least
the minimum fling velocity before continuing. If not, then
the user is trying to stop the fling and scroll more precisely.
Change-Id: I36634b0c3f7a9a09cf20c33f71d41163a8e33eed
Diffstat (limited to 'core/java/android/widget')
-rw-r--r-- | core/java/android/widget/AbsListView.java | 3 | ||||
-rw-r--r-- | core/java/android/widget/OverScroller.java | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index cfe4cb7..ba89ef3 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -3654,7 +3654,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te vt.computeCurrentVelocity(1000, mMaximumVelocity); final float yvel = -vt.getYVelocity(activeId); - if (scroller.isScrollingInDirection(0, yvel)) { + if (Math.abs(yvel) >= mMinimumVelocity + && scroller.isScrollingInDirection(0, yvel)) { // Keep the fling alive a little longer postDelayed(this, FLYWHEEL_TIMEOUT); } else { diff --git a/core/java/android/widget/OverScroller.java b/core/java/android/widget/OverScroller.java index 542a1ef..e571998 100644 --- a/core/java/android/widget/OverScroller.java +++ b/core/java/android/widget/OverScroller.java @@ -532,7 +532,7 @@ public class OverScroller { final int dx = mScrollerX.mFinal - mScrollerX.mStart; final int dy = mScrollerY.mFinal - mScrollerY.mStart; return !isFinished() && Math.signum(xvel) == Math.signum(dx) && - Math.signum(yvel) == Math.signum(dy); + Math.signum(yvel) == Math.signum(dy); } static class SplineOverScroller { |