summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ScrollView.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-09-03 12:04:25 -0700
committerAdam Powell <adamp@google.com>2010-09-03 12:06:51 -0700
commite6ffce9f65a1a8f498eb51a993a8cbf5f13a109e (patch)
tree324ed79f5d4094badd8c715192e42f4c128f4d7f /core/java/android/widget/ScrollView.java
parent46e63b346770efa14451b8e67b7f7636c4e5a76c (diff)
Fix bug 2973252 - Make overscroll glow respect ifContentScrolls
Change-Id: I0e4bf09c0cbc660c9b8d26a3526b09568c05e93d
Diffstat (limited to 'core/java/android/widget/ScrollView.java')
-rw-r--r--core/java/android/widget/ScrollView.java26
1 files changed, 17 insertions, 9 deletions
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index 7b5e4125eca8..2ba1c4791705 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -533,11 +533,15 @@ public class ScrollView extends FrameLayout {
}
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
- final int pulledToY = oldY + deltaY;
- if (pulledToY < 0) {
- mEdgeGlowTop.onPull((float) deltaY / getHeight());
- } else if (pulledToY > range) {
- mEdgeGlowBottom.onPull((float) deltaY / getHeight());
+ final int overscrollMode = getOverscrollMode();
+ if (overscrollMode == OVERSCROLL_ALWAYS ||
+ (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && range > 0)) {
+ final int pulledToY = oldY + deltaY;
+ if (pulledToY < 0) {
+ mEdgeGlowTop.onPull((float) deltaY / getHeight());
+ } else if (pulledToY > range) {
+ mEdgeGlowBottom.onPull((float) deltaY / getHeight());
+ }
}
}
break;
@@ -1090,10 +1094,14 @@ public class ScrollView extends FrameLayout {
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
final int range = getScrollRange();
- if (y < 0 && oldY >= 0) {
- mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
- } else if (y > range && oldY <= range) {
- mEdgeGlowBottom.onAbsorb((int) mScroller.getCurrVelocity());
+ final int overscrollMode = getOverscrollMode();
+ if (overscrollMode == OVERSCROLL_ALWAYS ||
+ (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && range > 0)) {
+ if (y < 0 && oldY >= 0) {
+ mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
+ } else if (y > range && oldY <= range) {
+ mEdgeGlowBottom.onAbsorb((int) mScroller.getCurrVelocity());
+ }
}
}
awakenScrollBars();