diff --git a/src/com/android/launcher3/PinchToOverviewListener.java b/src/com/android/launcher3/PinchToOverviewListener.java index ef4748528a..02b60446df 100644 --- a/src/com/android/launcher3/PinchToOverviewListener.java +++ b/src/com/android/launcher3/PinchToOverviewListener.java @@ -63,16 +63,24 @@ public class PinchToOverviewListener extends ScaleGestureDetector.SimpleOnScaleG // 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 058a58cde5..40b9179ea4 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -250,12 +250,9 @@ public class DragLayer extends InsettableFrameLayout { } 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); }