From ca6eb210e6eb0afe84bdf0558085f555a9a32655 Mon Sep 17 00:00:00 2001 From: Mindy Pereira Date: Thu, 7 Oct 2010 14:03:45 -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 Change-Id: I4742e8c212f8e13da29ed887ebdd712903b533f7 --- core/java/android/widget/AbsListView.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index ee57c6e54c714..6260cdbdf5edd 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -2247,8 +2247,14 @@ public abstract class AbsListView extends AdapterView implements Te mTouchMode = TOUCH_MODE_OVERSCROLL; if (rawDeltaY > 0) { mEdgeGlowTop.onPull((float) overscroll / getHeight()); + if (!mEdgeGlowBottom.isFinished()) { + mEdgeGlowBottom.onRelease(); + } } else if (rawDeltaY < 0) { mEdgeGlowBottom.onPull((float) overscroll / getHeight()); + if (!mEdgeGlowTop.isFinished()) { + mEdgeGlowTop.onRelease(); + } } } } @@ -2307,8 +2313,14 @@ public abstract class AbsListView extends AdapterView implements Te !contentFits())) { if (rawDeltaY > 0) { mEdgeGlowTop.onPull((float) -incrementalDeltaY / getHeight()); + if (!mEdgeGlowBottom.isFinished()) { + mEdgeGlowBottom.onRelease(); + } } else if (rawDeltaY < 0) { mEdgeGlowBottom.onPull((float) -incrementalDeltaY / getHeight()); + if (!mEdgeGlowTop.isFinished()) { + mEdgeGlowTop.onRelease(); + } } invalidate(); }