Loading packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -2014,6 +2014,16 @@ flag { } } flag { name: "block_mouse_edge_back_gesture" namespace: "systemui" description: "Blocks the back gesture from being triggered by a mouse pointer." bug: "403094305" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "animation_library_shell_migration" namespace: "systemui" Loading packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +10 −0 Original line number Diff line number Diff line Loading @@ -19,8 +19,10 @@ import static android.content.pm.ActivityInfo.CONFIG_FONT_SCALE; import static android.view.InputDevice.SOURCE_MOUSE; import static android.view.InputDevice.SOURCE_TOUCHPAD; import static android.view.MotionEvent.TOOL_TYPE_FINGER; import static android.view.MotionEvent.TOOL_TYPE_MOUSE; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION; import static com.android.systemui.Flags.blockMouseEdgeBackGesture; import static com.android.systemui.Flags.edgebackGestureHandlerGetRunningTasksBackground; import static com.android.window.flags.Flags.predictiveBackDelayWmTransition; import static com.android.systemui.classifier.Classifier.BACK_GESTURE; Loading Loading @@ -1214,6 +1216,9 @@ public class EdgeBackGestureHandler { } else { mAllowGesture = isBackAllowedCommon && !mUsingThreeButtonNav && isWithinInsets && isWithinTouchRegion(ev) && !isButtonPressFromTrackpad(ev); if (blockMouseEdgeBackGesture()) { mAllowGesture = mAllowGesture && !isButtonPressFromMouse(ev); } } if (mAllowGesture) { if (DesktopExperienceFlags.ENABLE_MULTIDISPLAY_TRACKPAD_BACK_GESTURE.isTrue()) { Loading Loading @@ -1365,6 +1370,11 @@ public class EdgeBackGestureHandler { && ev.getToolType(ev.getActionIndex()) == TOOL_TYPE_FINGER; } private boolean isButtonPressFromMouse(MotionEvent ev) { return ev.getSource() == (SOURCE_MOUSE) && ev.getToolType(ev.getActionIndex()) == TOOL_TYPE_MOUSE; } private void dispatchToBackAnimation(MotionEvent event) { if (mBackAnimation != null) { mBackAnimation.onBackMotion( Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -2014,6 +2014,16 @@ flag { } } flag { name: "block_mouse_edge_back_gesture" namespace: "systemui" description: "Blocks the back gesture from being triggered by a mouse pointer." bug: "403094305" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "animation_library_shell_migration" namespace: "systemui" Loading
packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +10 −0 Original line number Diff line number Diff line Loading @@ -19,8 +19,10 @@ import static android.content.pm.ActivityInfo.CONFIG_FONT_SCALE; import static android.view.InputDevice.SOURCE_MOUSE; import static android.view.InputDevice.SOURCE_TOUCHPAD; import static android.view.MotionEvent.TOOL_TYPE_FINGER; import static android.view.MotionEvent.TOOL_TYPE_MOUSE; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION; import static com.android.systemui.Flags.blockMouseEdgeBackGesture; import static com.android.systemui.Flags.edgebackGestureHandlerGetRunningTasksBackground; import static com.android.window.flags.Flags.predictiveBackDelayWmTransition; import static com.android.systemui.classifier.Classifier.BACK_GESTURE; Loading Loading @@ -1214,6 +1216,9 @@ public class EdgeBackGestureHandler { } else { mAllowGesture = isBackAllowedCommon && !mUsingThreeButtonNav && isWithinInsets && isWithinTouchRegion(ev) && !isButtonPressFromTrackpad(ev); if (blockMouseEdgeBackGesture()) { mAllowGesture = mAllowGesture && !isButtonPressFromMouse(ev); } } if (mAllowGesture) { if (DesktopExperienceFlags.ENABLE_MULTIDISPLAY_TRACKPAD_BACK_GESTURE.isTrue()) { Loading Loading @@ -1365,6 +1370,11 @@ public class EdgeBackGestureHandler { && ev.getToolType(ev.getActionIndex()) == TOOL_TYPE_FINGER; } private boolean isButtonPressFromMouse(MotionEvent ev) { return ev.getSource() == (SOURCE_MOUSE) && ev.getToolType(ev.getActionIndex()) == TOOL_TYPE_MOUSE; } private void dispatchToBackAnimation(MotionEvent event) { if (mBackAnimation != null) { mBackAnimation.onBackMotion( Loading