summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2016-09-23 08:54:40 -0700
committerJon Miranda <jonmiranda@google.com>2016-09-26 16:37:59 -0700
commit379198ef5bcc68620ab0327edec7e560d893a1a4 (patch)
treeb76e6a3ba46d9d8e2a854b9d8fb865f754b09712 /src
parent8c855cb8c0e8aeb4366d986df488c46fde1babe3 (diff)
downloadandroid_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.java24
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) &&