OSDN Git Service

Don't listen for the pinch gesture if the workspace is locked.
authorTony Wickham <twickham@google.com>
Wed, 16 Mar 2016 20:53:50 +0000 (13:53 -0700)
committerTony Wickham <twickham@google.com>
Wed, 16 Mar 2016 23:28:21 +0000 (16:28 -0700)
Bug: 27639653
Change-Id: I1f3b324a4b95cc5deaa2513dcbf4ed5a158a4866

src/com/android/launcher3/PinchToOverviewListener.java
src/com/android/launcher3/dragndrop/DragLayer.java

index ef47485..02b6044 100644 (file)
@@ -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();
index 058a58c..40b9179 100644 (file)
@@ -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);
     }