diff options
author | Jon Miranda <jonmiranda@google.com> | 2016-09-23 08:54:40 -0700 |
---|---|---|
committer | Jon Miranda <jonmiranda@google.com> | 2016-09-26 16:37:59 -0700 |
commit | 379198ef5bcc68620ab0327edec7e560d893a1a4 (patch) | |
tree | b76e6a3ba46d9d8e2a854b9d8fb865f754b09712 /src | |
parent | 8c855cb8c0e8aeb4366d986df488c46fde1babe3 (diff) | |
download | android_packages_apps_Trebuchet-379198ef5bcc68620ab0327edec7e560d893a1a4.tar.gz android_packages_apps_Trebuchet-379198ef5bcc68620ab0327edec7e560d893a1a4.tar.bz2 android_packages_apps_Trebuchet-379198ef5bcc68620ab0327edec7e560d893a1a4.zip |
Ignore long clicks triggered from the edge of screen.
Bug: 31572404
Change-Id: Ie531941669549ce84b92302b95be94555ee0bb73
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 99c16e74a..b18dee327 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -354,6 +354,9 @@ public class Launcher extends Activity private UserEventDispatcher mUserEventDispatcher; + private float mLastDispatchTouchEventX = 0.0f; + private float mEdgeOfScreenThresholdPx = 0.0f; + public ViewGroupFocusHelper mFocusHandler; private boolean mRotationEnabled = false; @@ -424,6 +427,9 @@ public class Launcher extends Activity setContentView(R.layout.launcher); + mEdgeOfScreenThresholdPx = getResources() + .getDimensionPixelSize(R.dimen.edge_of_screen_threshold); + setupViews(); mDeviceProfile.layout(this, false /* notifyListeners */); mExtractedColors = new ExtractedColors(); @@ -3055,6 +3061,12 @@ public class Launcher extends Activity } @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + mLastDispatchTouchEventX = ev.getX(); + return super.dispatchTouchEvent(ev); + } + + @Override public boolean onLongClick(View v) { if (!isDraggingEnabled()) return false; if (isWorkspaceLocked()) return false; @@ -3066,9 +3078,12 @@ public class Launcher extends Activity return true; } + boolean fromEdgeOfScreen = mLastDispatchTouchEventX < mEdgeOfScreenThresholdPx + || mLastDispatchTouchEventX > (mDeviceProfile.widthPx - mEdgeOfScreenThresholdPx); + if (v instanceof Workspace) { if (!mWorkspace.isInOverviewMode()) { - if (!mWorkspace.isTouchActive()) { + if (!mWorkspace.isTouchActive() && !fromEdgeOfScreen) { showOverviewMode(true); mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); @@ -3095,13 +3110,16 @@ public class Launcher extends Activity if (!mDragController.isDragging()) { if (itemUnderLongClick == null) { // User long pressed on empty space - mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, - HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); if (mWorkspace.isInOverviewMode()) { mWorkspace.startReordering(v); } else { + if (fromEdgeOfScreen) { + return false; + } showOverviewMode(true); } + mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, + HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING); } else { final boolean isAllAppsButton = !FeatureFlags.NO_ALL_APPS_ICON && isHotseatLayout(v) && |