summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-09-16 23:30:52 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-09-16 23:30:52 -0700
commit92061b70be48fabd8a1e5fbdbd3021211c820222 (patch)
treedc8c5e3ba37ace71358d14a9a6fbd8f0dae195fd
parent6185a5caeb38837b7a7b7bc894abaa88328b383d (diff)
parent79aa40302b643ee6c6227ee354a1b1378e721568 (diff)
downloadframeworks_base-92061b70be48fabd8a1e5fbdbd3021211c820222.zip
frameworks_base-92061b70be48fabd8a1e5fbdbd3021211c820222.tar.gz
frameworks_base-92061b70be48fabd8a1e5fbdbd3021211c820222.tar.bz2
am 79aa4030: Merge "Can\'t stop the fling! Bug: 5335420" into ics-factoryrom
* commit '79aa40302b643ee6c6227ee354a1b1378e721568': Can't stop the fling! Bug: 5335420
-rw-r--r--core/java/android/widget/AbsListView.java3
-rw-r--r--core/java/android/widget/OverScroller.java2
-rw-r--r--libs/ui/Input.cpp2
3 files changed, 5 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 {
diff --git a/libs/ui/Input.cpp b/libs/ui/Input.cpp
index a5ba57d..3de75ba 100644
--- a/libs/ui/Input.cpp
+++ b/libs/ui/Input.cpp
@@ -1020,6 +1020,8 @@ bool VelocityTracker::getVelocity(uint32_t id, float* outVx, float* outVy) const
return true;
}
}
+ *outVx = 0;
+ *outVy = 0;
return false;
}