Don't listen for the pinch gesture if the workspace is locked.

Bug: 27639653
Change-Id: I1f3b324a4b95cc5deaa2513dcbf4ed5a158a4866
This commit is contained in:
Tony Wickham
2016-03-16 13:53:50 -07:00
parent 95cdb3a021
commit c5b31965d9
2 changed files with 13 additions and 8 deletions
@@ -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();
@@ -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);
}