Don't listen for the pinch gesture if the workspace is locked.
Bug: 27639653
Change-Id: I1f3b324a4b95cc5deaa2513dcbf4ed5a158a4866
diff --git a/src/com/android/launcher3/PinchToOverviewListener.java b/src/com/android/launcher3/PinchToOverviewListener.java
index ef47485..02b6044 100644
--- a/src/com/android/launcher3/PinchToOverviewListener.java
+++ b/src/com/android/launcher3/PinchToOverviewListener.java
@@ -63,16 +63,24 @@
// Don't listen for the pinch gesture if we are already animating from a previous one.
return false;
}
+ if (mLauncher.isWorkspaceLocked()) {
+ // Don't listen for the pinch gesture if the workspace isn't ready.
+ return false;
+ }
if (mWorkspace == null) {
- mWorkspace = mLauncher.mWorkspace;
+ mWorkspace = mLauncher.getWorkspace();
mThresholdManager = new PinchThresholdManager(mWorkspace);
mAnimationManager = new PinchAnimationManager(mLauncher);
}
if (mWorkspace.isSwitchingState() || mWorkspace.mScrollInteractionBegan) {
- // Don't listen to pinches occurring while switching state, as it will cause a jump
+ // Don't listen for the pinch gesture while switching state, as it will cause a jump
// once the state switching animation is complete.
return false;
}
+ if (mWorkspace.getOpenFolder() != null) {
+ // Don't listen for the pinch gesture if a folder is open.
+ return false;
+ }
mPreviousProgress = mWorkspace.isInOverviewMode() ? OVERVIEW_PROGRESS : WORKSPACE_PROGRESS;
mPreviousTimeMillis = System.currentTimeMillis();
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java
index 058a58c..40b9179 100644
--- a/src/com/android/launcher3/dragndrop/DragLayer.java
+++ b/src/com/android/launcher3/dragndrop/DragLayer.java
@@ -250,12 +250,9 @@
}
clearAllResizeFrames();
- Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
- if (currentFolder == null) {
- if (mPinchListener.onInterceptTouchEvent(ev)) {
- // Stop listening for scrolling etc. (onTouchEvent() handles the rest of the pinch.)
- return true;
- }
+ if (mPinchListener.onInterceptTouchEvent(ev)) {
+ // Stop listening for scrolling etc. (onTouchEvent() handles the rest of the pinch.)
+ return true;
}
return mDragController.onInterceptTouchEvent(ev);
}