summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorMindy Pereira <mindyp@google.com>2010-10-08 17:04:04 -0700
committerMindy Pereira <mindyp@google.com>2010-10-08 17:04:04 -0700
commitf6859c3da7813399240a3bd75a16c251e15735f8 (patch)
tree4bd96a9d21116650798dddc62106d62789ff1e03 /core/java
parent7255288755661587958d384338d4808e76959d86 (diff)
downloadframeworks_base-f6859c3da7813399240a3bd75a16c251e15735f8.zip
frameworks_base-f6859c3da7813399240a3bd75a16c251e15735f8.tar.gz
frameworks_base-f6859c3da7813399240a3bd75a16c251e15735f8.tar.bz2
DO NOT MERGE Limit the height of the pull glow.
Event when the user keeps pulling, should NEVER get bigger than the max height (~2list items tall). Fixes b/3074337 Overscroll glow can be stretched indefinitely Change-Id: Ifc30d4c907d432faf9ee10ddc20bcc8f50b21f81
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/widget/EdgeGlow.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/java/android/widget/EdgeGlow.java b/core/java/android/widget/EdgeGlow.java
index 7a990ad..8d14462 100644
--- a/core/java/android/widget/EdgeGlow.java
+++ b/core/java/android/widget/EdgeGlow.java
@@ -145,10 +145,9 @@ public class EdgeGlow {
mEdgeScaleY = mEdgeScaleYStart = Math.max(
HELD_EDGE_SCALE_Y, Math.min(distance * PULL_DISTANCE_EDGE_FACTOR, 1.f));
- mGlowAlpha = mGlowAlphaStart = Math.min(
+ mGlowAlpha = mGlowAlphaStart = Math.min(MAX_ALPHA,
mGlowAlpha +
- (Math.abs(deltaDistance) * PULL_DISTANCE_ALPHA_GLOW_FACTOR),
- MAX_ALPHA);
+ (Math.abs(deltaDistance) * PULL_DISTANCE_ALPHA_GLOW_FACTOR));
float glowChange = Math.abs(deltaDistance);
if (deltaDistance > 0 && mPullDistance < 0) {
@@ -157,8 +156,10 @@ public class EdgeGlow {
if (mPullDistance == 0) {
mGlowScaleY = 0;
}
- mGlowScaleY = mGlowScaleYStart = Math.max(
- 0, mGlowScaleY + glowChange * PULL_DISTANCE_GLOW_FACTOR);
+
+ // Do not allow glow to get larger than MAX_GLOW_HEIGHT.
+ mGlowScaleY = mGlowScaleYStart = Math.min(MAX_GLOW_HEIGHT, Math.max(
+ 0, mGlowScaleY + glowChange * PULL_DISTANCE_GLOW_FACTOR));
mEdgeAlphaFinish = mEdgeAlpha;
mEdgeScaleYFinish = mEdgeScaleY;