Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7fc57a04 authored by Vaibhav Devmurari's avatar Vaibhav Devmurari
Browse files

Remove split screen focus change shortcuts

Removing the focus change shortcuts for split screen due to lack of other focus change shortcuts that allow navigating across SysUI surfaces and the current shortcut classes with A11y shortcut requirement.

UX is working on a family of shortcuts for changing focus across Sys UI surfaces (taskbar, status bar, etc) and will include shortcuts for split screen focus changes too. So, just removing the shortcut triggers and keeping the infra to easily add support for these shortcut in future releases.

Bug: 384514582
Test: atest KeyGestureControllerTests
Test: atest WmTests
Flag: EXEMPT bugfix
Change-Id: Ifef0524b037d1de3041cd4d5d4403c1e48d960ad
parent a1d171f1
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -185,21 +185,11 @@ final class InputGestureManager {
                        KeyEvent.META_META_ON | KeyEvent.META_CTRL_ON,
                        KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_LEFT
                ),
                createKeyGesture(
                        KeyEvent.KEYCODE_DPAD_LEFT,
                        KeyEvent.META_CTRL_ON | KeyEvent.META_ALT_ON,
                        KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT
                ),
                createKeyGesture(
                        KeyEvent.KEYCODE_DPAD_RIGHT,
                        KeyEvent.META_META_ON | KeyEvent.META_CTRL_ON,
                        KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_RIGHT
                ),
                createKeyGesture(
                        KeyEvent.KEYCODE_DPAD_RIGHT,
                        KeyEvent.META_CTRL_ON | KeyEvent.META_ALT_ON,
                        KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_RIGHT
                ),
                createKeyGesture(
                        KeyEvent.KEYCODE_SLASH,
                        KeyEvent.META_META_ON,
+0 −28
Original line number Diff line number Diff line
@@ -3801,10 +3801,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                                true /* leftOrTop */);
                        notifyKeyGestureCompleted(event,
                                KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_LEFT);
                    } else if (event.isAltPressed()) {
                        setSplitscreenFocus(true /* leftOrTop */);
                        notifyKeyGestureCompleted(event,
                                KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT);
                    } else {
                        notifyKeyGestureCompleted(event,
                                KeyGestureEvent.KEY_GESTURE_TYPE_BACK);
@@ -3821,11 +3817,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                        notifyKeyGestureCompleted(event,
                                KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_RIGHT);
                        return true;
                    } else if (event.isAltPressed()) {
                        setSplitscreenFocus(false /* leftOrTop */);
                        notifyKeyGestureCompleted(event,
                                KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_RIGHT);
                        return true;
                    }
                }
                break;
@@ -4241,9 +4232,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    case KeyGestureEvent.KEY_GESTURE_TYPE_MULTI_WINDOW_NAVIGATION:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_DESKTOP_MODE:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_LEFT:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_RIGHT:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_RIGHT:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_OPEN_SHORTCUT_HELPER:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_BRIGHTNESS_UP:
                    case KeyGestureEvent.KEY_GESTURE_TYPE_BRIGHTNESS_DOWN:
@@ -4379,22 +4368,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                            true /* leftOrTop */);
                }
                return true;
            case KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT:
                if (complete) {
                    setSplitscreenFocus(true /* leftOrTop */);
                }
                return true;
            case KeyGestureEvent.KEY_GESTURE_TYPE_SPLIT_SCREEN_NAVIGATION_RIGHT:
                if (complete) {
                    moveFocusedTaskToStageSplit(getTargetDisplayIdForKeyGestureEvent(event),
                            false /* leftOrTop */);
                }
                return true;
            case KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_RIGHT:
                if (complete) {
                    setSplitscreenFocus(false /* leftOrTop */);
                }
                return true;
            case KeyGestureEvent.KEY_GESTURE_TYPE_OPEN_SHORTCUT_HELPER:
                if (complete) {
                    toggleKeyboardShortcutsMenu(deviceId);
@@ -5084,13 +5063,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        }
    }

    private void setSplitscreenFocus(boolean leftOrTop) {
        StatusBarManagerInternal statusbar = getStatusBarManagerInternal();
        if (statusbar != null) {
            statusbar.setSplitscreenFocus(leftOrTop);
        }
    }

    void launchHomeFromHotKey(int displayId) {
        launchHomeFromHotKey(displayId, true /* awakenFromDreams */, true /*respectKeyguard*/);
    }
+0 −11
Original line number Diff line number Diff line
@@ -543,17 +543,6 @@ public class KeyGestureEventTests extends ShortcutKeyTestBase {
        mPhoneWindowManager.assertMoveFocusedTaskToStageSplit(false);
    }

    @Test
    public void testKeyGestureSplitscreenFocus() {
        Assert.assertTrue(sendKeyGestureEventComplete(
                KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT));
        mPhoneWindowManager.assertSetSplitscreenFocus(true);

        Assert.assertTrue(sendKeyGestureEventComplete(
                KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_RIGHT));
        mPhoneWindowManager.assertSetSplitscreenFocus(false);
    }

    @Test
    public void testKeyGestureShortcutHelper() {
        Assert.assertTrue(sendKeyGestureEventComplete(
+0 −5
Original line number Diff line number Diff line
@@ -925,11 +925,6 @@ class TestPhoneWindowManager {
        verify(mStatusBarManagerInternal).moveFocusedTaskToStageSplit(anyInt(), eq(leftOrTop));
    }

    void assertSetSplitscreenFocus(boolean leftOrTop) {
        mTestLooper.dispatchAll();
        verify(mStatusBarManagerInternal).setSplitscreenFocus(eq(leftOrTop));
    }

    void assertStatusBarStartAssist() {
        mTestLooper.dispatchAll();
        verify(mStatusBarManagerInternal).startAssist(any());
+0 −24
Original line number Diff line number Diff line
@@ -466,30 +466,6 @@ class KeyGestureControllerTests {
                KeyEvent.META_META_ON or KeyEvent.META_CTRL_ON,
                intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE)
            ),
            TestData(
                "CTRL + ALT + DPAD_LEFT -> Change Splitscreen Focus Left",
                intArrayOf(
                    KeyEvent.KEYCODE_CTRL_LEFT,
                    KeyEvent.KEYCODE_ALT_LEFT,
                    KeyEvent.KEYCODE_DPAD_LEFT
                ),
                KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_LEFT,
                intArrayOf(KeyEvent.KEYCODE_DPAD_LEFT),
                KeyEvent.META_CTRL_ON or KeyEvent.META_ALT_ON,
                intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE)
            ),
            TestData(
                "CTRL + ALT + DPAD_RIGHT -> Change Splitscreen Focus Right",
                intArrayOf(
                    KeyEvent.KEYCODE_CTRL_LEFT,
                    KeyEvent.KEYCODE_ALT_LEFT,
                    KeyEvent.KEYCODE_DPAD_RIGHT
                ),
                KeyGestureEvent.KEY_GESTURE_TYPE_CHANGE_SPLITSCREEN_FOCUS_RIGHT,
                intArrayOf(KeyEvent.KEYCODE_DPAD_RIGHT),
                KeyEvent.META_CTRL_ON or KeyEvent.META_ALT_ON,
                intArrayOf(KeyGestureEvent.ACTION_GESTURE_COMPLETE)
            ),
            TestData(
                "META + / -> Open Shortcut Helper",
                intArrayOf(KeyEvent.KEYCODE_META_LEFT, KeyEvent.KEYCODE_SLASH),