From acdde3d750611476264a838d0a536d99404a692b Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Sat, 1 Jun 2019 15:04:52 -0700 Subject: [PATCH] Fix issue where Workspace scrolling doesn't work => The WorkspaceTouchListener was relying on receiving TOUCH_DOWN in order to clear its state. This is not guaranteed; ie. when touches begin above children of the workspace (icons or widgets) => Any invocation of the Workspace long press menu would trigger this issue and it would persist until a touch went directly onto the Workspace in a location without any children. Bug 132298752 Change-Id: Id8617baaa1ce59dc84758a7c82049329323b04cc --- src/com/android/launcher3/touch/WorkspaceTouchListener.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/touch/WorkspaceTouchListener.java b/src/com/android/launcher3/touch/WorkspaceTouchListener.java index 07ddccb313..310d598b25 100644 --- a/src/com/android/launcher3/touch/WorkspaceTouchListener.java +++ b/src/com/android/launcher3/touch/WorkspaceTouchListener.java @@ -99,7 +99,6 @@ public class WorkspaceTouchListener extends GestureDetector.SimpleOnGestureListe handleLongPress = mTempRect.contains((int) ev.getX(), (int) ev.getY()); } - cancelLongPress(); if (handleLongPress) { mLongPressState = STATE_REQUESTED; mTouchDownPoint.set(ev.getX(), ev.getY()); @@ -148,6 +147,10 @@ public class WorkspaceTouchListener extends GestureDetector.SimpleOnGestureListe } } + if (action == ACTION_UP || action == ACTION_CANCEL) { + cancelLongPress(); + } + return result; }