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

Commit 893918c4 authored by Steven Ng's avatar Steven Ng
Browse files

Don't subscribe to KEY_GESTURE_TYPE_RECENT_APPS[_SWITCHER] in PhoneWindowManager

KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER & KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER_SWITCHER will be subscribed in the recents app.

Flag: com.android.window.flags.enable_key_gesture_handler_for_recents
Test: atest WmTests:PhoneWindowManagerTests
Bug: 406452076
Change-Id: Idbb8236a335d732c1004dd9bac766c8b0536b88e
parent 0698161c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3608,7 +3608,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    @SuppressLint("MissingPermission")
    private void initKeyGestures() {
        List<Integer> supportedGestures = new ArrayList<>(List.of(
                KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS,
                KeyGestureEvent.KEY_GESTURE_TYPE_APP_SWITCH,
                KeyGestureEvent.KEY_GESTURE_TYPE_LAUNCH_ASSISTANT,
                KeyGestureEvent.KEY_GESTURE_TYPE_LAUNCH_VOICE_ASSISTANT,
@@ -3626,7 +3625,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                KeyGestureEvent.KEY_GESTURE_TYPE_OPEN_SHORTCUT_HELPER,
                KeyGestureEvent.KEY_GESTURE_TYPE_BRIGHTNESS_UP,
                KeyGestureEvent.KEY_GESTURE_TYPE_BRIGHTNESS_DOWN,
                KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER,
                KeyGestureEvent.KEY_GESTURE_TYPE_LAUNCH_SEARCH,
                KeyGestureEvent.KEY_GESTURE_TYPE_LANGUAGE_SWITCH,
                KeyGestureEvent.KEY_GESTURE_TYPE_ACCESSIBILITY_SHORTCUT,
@@ -3648,6 +3646,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            // When enableKeyGestureHandlerForRecents is enabled, the event is handled in the
            // recents app.
            supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS);
            supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS);
            supportedGestures.add(KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER);
        }
        mInputManager.registerKeyGestureEventHandler(supportedGestures,
                PhoneWindowManager.this::handleKeyGestureEvent);
+8 −4
Original line number Diff line number Diff line
@@ -441,8 +441,10 @@ public class PhoneWindowManagerTests {
                List.class);
        verify(mInputManager).registerKeyGestureEventHandler(registeredKeyGestureEvents.capture(),
                any());
        assertThat(registeredKeyGestureEvents.getValue()).doesNotContain(
                KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS);
        assertThat(registeredKeyGestureEvents.getValue()).containsNoneIn(
                List.of(KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS,
                        KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS,
                        KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER));
    }

    @Test
@@ -454,8 +456,10 @@ public class PhoneWindowManagerTests {
                List.class);
        verify(mInputManager).registerKeyGestureEventHandler(registeredKeyGestureEvents.capture(),
                any());
        assertThat(registeredKeyGestureEvents.getValue()).contains(
                KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS);
        assertThat(registeredKeyGestureEvents.getValue()).containsAtLeastElementsIn(
                List.of(KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS,
                        KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS,
                        KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER));
    }

    private void initPhoneWindowManager() {