From a0d645cb6980113a624e6e70a7fa9ae5e91bbac8 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Wed, 31 Mar 2010 17:27:49 -0700 Subject: [PATCH] Fix bug 2562240 and clean up scrollbar behavior Change-Id: I551803a1c997c9d10e1d004ce14472af6090f432 --- core/java/android/widget/AbsListView.java | 11 ++--------- core/java/android/widget/HorizontalScrollView.java | 1 + core/java/android/widget/ScrollView.java | 1 + 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 8ef2aebffd4a9..66461a7f51d1d 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -2483,16 +2483,9 @@ public abstract class AbsListView extends AdapterView implements Te delta = Math.max(-(getHeight() - mPaddingBottom - mPaddingTop - 1), delta); } - // Check to see if we have bumped into the scroll limit - View motionView = getChildAt(mMotionPosition - mFirstPosition); - int oldTop = 0; - if (motionView != null) { - oldTop = motionView.getTop(); - } + final boolean atEnd = trackMotionScroll(delta, delta); - trackMotionScroll(delta, delta); - - if (more) { + if (more && !atEnd) { invalidate(); mLastFlingY = y; post(this); diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java index 20c2fe444a6d9..32a91464f4bee 100644 --- a/core/java/android/widget/HorizontalScrollView.java +++ b/core/java/android/widget/HorizontalScrollView.java @@ -1022,6 +1022,7 @@ public class HorizontalScrollView extends FrameLayout { onScrollChanged(x, y, oldX, oldY); } } + awakenScrollBars(); // Keep on drawing until the animation has finished. postInvalidate(); diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index a02aa00eb718e..873dc67ec6514 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -1023,6 +1023,7 @@ public class ScrollView extends FrameLayout { onScrollChanged(x, y, oldX, oldY); } } + awakenScrollBars(); // Keep on drawing until the animation has finished. postInvalidate();