From 3af8c96b26c2c870eb523eec98619a1898092bb3 Mon Sep 17 00:00:00 2001 From: Vu Thanh Cong Date: Thu, 10 Nov 2016 22:40:24 +0900 Subject: [PATCH] Fix edge effect not showing up on first scroll This CL fixes a bug in AbsListView when it was not invalidating mEdgeGlowTop and mEdgeGlowBottom region since the bound of these EdgeEffect were not set. This was triggering a bug that no edge effect (overscroll animation) show up on the 1st scroll in ListView. Bug: N/A Test: manual - check 1st overscroll animation on a ListView activity Change-Id: Ic76b894f8e21f9b16651d246bc73ebeaef08fa21 Signed-off-by: Vu Thanh Cong --- core/java/android/widget/AbsListView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index b331be72b4cf1..de4c97df685ab 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -4321,13 +4321,14 @@ public abstract class AbsListView extends AdapterView implements Te translateX = 0; translateY = 0; } + mEdgeGlowTop.setSize(width, height); + mEdgeGlowBottom.setSize(width, height); if (!mEdgeGlowTop.isFinished()) { final int restoreCount = canvas.save(); canvas.clipRect(translateX, translateY, translateX + width ,translateY + mEdgeGlowTop.getMaxHeight()); final int edgeY = Math.min(0, scrollY + mFirstPositionDistanceGuess) + translateY; canvas.translate(translateX, edgeY); - mEdgeGlowTop.setSize(width, height); if (mEdgeGlowTop.draw(canvas)) { invalidateTopGlow(); } @@ -4342,7 +4343,6 @@ public abstract class AbsListView extends AdapterView implements Te - (clipToPadding ? mPaddingBottom : 0); canvas.translate(edgeX, edgeY); canvas.rotate(180, width, 0); - mEdgeGlowBottom.setSize(width, height); if (mEdgeGlowBottom.draw(canvas)) { invalidateBottomGlow(); }