Fix ListView not moving during catch

Fixes: 189294917

When a ListView has clickable items in it, the over scroll
animation "catch" wasn't properly catching. The problem was
that the over scroll animation was checked and the touch mode
was set, and the touch mode was checked later. Unfortunately,
the touch mode variable that was checked was different from
the one that was set.

Test: manual and new ListViewTest
Change-Id: Iaf9b51d028d1f14195ca38a5fd511141262487ff
This commit is contained in:
George Mount
2021-06-01 22:53:01 +00:00
parent 76fda9db9a
commit 60dd581ac2

View File

@@ -4575,7 +4575,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
int motionPosition = findMotionRow(y);
if (isGlowActive()) {
// Pressed during edge effect, so this is considered the same as a fling catch.
mTouchMode = TOUCH_MODE_FLING;
touchMode = mTouchMode = TOUCH_MODE_FLING;
} else if (touchMode != TOUCH_MODE_FLING && motionPosition >= 0) {
// User clicked on an actual view (and was not stopping a fling).
// Remember where the motion event started