From 4de94de9c5ad18e1162fa30dd1149211485297c0 Mon Sep 17 00:00:00 2001 From: Mindy Pereira Date: Thu, 7 Oct 2010 14:29:03 -0700 Subject: [PATCH] DO NOT MERGE Only show edge glow effect on 1 side at a time. Pulling on a side should force the opposite side into "decay". Fixes b/3061753 new list "bounce" shouldn't show on both ends This fixes scroller and horizontalscroller. Change-Id: I4d9820c7178378b793ed9a29b119943eb1f46587 --- core/java/android/widget/HorizontalScrollView.java | 6 ++++++ core/java/android/widget/ScrollView.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java index 6a52f75a1ea64..d38eef3b9777a 100644 --- a/core/java/android/widget/HorizontalScrollView.java +++ b/core/java/android/widget/HorizontalScrollView.java @@ -542,8 +542,14 @@ public class HorizontalScrollView extends FrameLayout { final int pulledToX = oldX + deltaX; if (pulledToX < 0) { mEdgeGlowLeft.onPull((float) deltaX / getWidth()); + if (!mEdgeGlowRight.isFinished()) { + mEdgeGlowRight.onRelease(); + } } else if (pulledToX > range) { mEdgeGlowRight.onPull((float) deltaX / getWidth()); + if (!mEdgeGlowLeft.isFinished()) { + mEdgeGlowLeft.onRelease(); + } } } } diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index 0337b5c1f2226..1daf2abfa79c0 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -537,8 +537,14 @@ public class ScrollView extends FrameLayout { final int pulledToY = oldY + deltaY; if (pulledToY < 0) { mEdgeGlowTop.onPull((float) deltaY / getHeight()); + if (!mEdgeGlowBottom.isFinished()) { + mEdgeGlowBottom.onRelease(); + } } else if (pulledToY > range) { mEdgeGlowBottom.onPull((float) deltaY / getHeight()); + if (!mEdgeGlowTop.isFinished()) { + mEdgeGlowTop.onRelease(); + } } } }