diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java index 846d1ea61ce1a48b551d8fc28a898a4e8064c96e..72decc96d784904d75d90b44c073ca4c1cec74e6 100644 --- a/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java @@ -1212,6 +1212,12 @@ public class KeyEvent extends InputEvent implements Parcelable { */ public static final int FLAG_TRACKING = 0x200; + /** + * Private flag that indicates that event was sent from EdgeBackGestureHandler. + * @hide + */ + public static final int FLAG_LONG_SWIPE = 0x800; + /** * Set when a key event has been synthesized to implement default behavior * for an event that the application did not handle. diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java index 5dfa88583d8f8e0ac03250a00acf0944a70b9fee..94cc165499e7a52c8f433e70226d61faeeadfc68 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java @@ -276,9 +276,9 @@ public class EdgeBackGestureHandler extends CurrentUserTracker // TODO(b/186519446): use a different method than isFalseTouch mFalsingManager.isFalseTouch(BACK_GESTURE); boolean sendDown = sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK, - isLongPress ? KeyEvent.FLAG_LONG_PRESS : 0); + isLongPress ? KeyEvent.FLAG_LONG_SWIPE : 0); boolean sendUp = sendEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK, - isLongPress ? KeyEvent.FLAG_LONG_PRESS : 0); + isLongPress ? KeyEvent.FLAG_LONG_SWIPE : 0); if (DEBUG_MISSING_GESTURE) { Log.d(DEBUG_MISSING_GESTURE_TAG, "Triggered back: down=" + sendDown + ", up=" + sendUp); diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index e50adccb0751d90ede03058daf110392b6027421..cbd53de2d9aee70066b94c039ecc9c65e9a562c7 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -691,8 +691,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { private LineageHardwareManager mLineageHardware; private boolean mLongSwipeDown; - private static final int LONG_SWIPE_FLAGS = KeyEvent.FLAG_LONG_PRESS - | KeyEvent.FLAG_FROM_SYSTEM | KeyEvent.FLAG_VIRTUAL_HARD_KEY; private class PolicyHandler extends Handler { @Override @@ -4034,7 +4032,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // Handle special keys. switch (keyCode) { case KeyEvent.KEYCODE_BACK: { - boolean isLongSwipe = (event.getFlags() & LONG_SWIPE_FLAGS) == LONG_SWIPE_FLAGS; + boolean isLongSwipe = (event.getFlags() & KeyEvent.FLAG_LONG_SWIPE) != 0; if (mLongSwipeDown && isLongSwipe && !down) { // Trigger long swipe action performKeyAction(mEdgeLongSwipeAction, event);