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

Commit 65935ee7 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add "Close active window" to shortcut helper" into main

parents 404f5359 8bb30a4a
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -27,7 +27,10 @@ import android.view.KeyEvent.KEYCODE_BACK
import android.view.KeyEvent.KEYCODE_HOME
import android.view.KeyEvent.KEYCODE_RECENT_APPS
import android.view.KeyEvent.KEYCODE_TAB
import android.view.KeyEvent.KEYCODE_W
import android.view.KeyEvent.META_ALT_ON
import android.view.KeyEvent.META_CTRL_ON
import android.view.KeyEvent.META_META_ON
import android.view.KeyEvent.META_SHIFT_ON
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
@@ -161,6 +164,26 @@ class SystemShortcutsSourceTest : SysuiTestCase() {
        }
    }

    @Test
    @EnableFlags(com.android.window.flags.Flags.FLAG_CLOSE_TASK_KEYBOARD_SHORTCUT)
    fun shortcutGroups_containsCloseWindowShortcut() {
        testScope.runTest {
            val groups = source.shortcutGroups(TEST_DEVICE_ID)

            val shortcuts =
                groups.flatMap { it.items }.map { c -> Triple(c.label, c.modifiers, c.keycode) }

            val closeWindowShortcut =
                Triple(
                    context.getString(R.string.group_system_close_window),
                    META_META_ON or META_CTRL_ON,
                    KEYCODE_W,
                )

            assertThat(shortcuts).contains(closeWindowShortcut)
        }
    }

    private companion object {
        private const val TEST_DEVICE_ID = 1234
    }
+2 −0
Original line number Diff line number Diff line
@@ -2510,6 +2510,8 @@
    <string name="group_system_lock_screen">Lock screen</string>
    <!-- User visible title for the keyboard shortcut that pulls up Notes app for quick memo. [CHAR LIMIT=70] -->
    <string name="group_system_quick_memo">Take a note</string>
    <!-- User visible title for the keyboard shortcut that closes a focused task [CHAR LIMIT=70] -->
    <string name="group_system_close_window">Close current window</string>

    <!-- User visible title for the multitasking keyboard shortcuts list. [CHAR LIMIT=70] -->
    <string name="keyboard_shortcut_group_system_multitasking">Multitasking</string>
+4 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_MINIMIZE_FREEFORM
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_MOVE_TO_NEXT_DISPLAY
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_MULTI_WINDOW_NAVIGATION
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_OPEN_SHORTCUT_HELPER
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_QUIT_FOCUSED_TASK
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER
import android.hardware.input.KeyGestureEvent.KEY_GESTURE_TYPE_SNAP_LEFT_FREEFORM_WINDOW
@@ -73,6 +74,7 @@ class InputGestureMaps @Inject constructor(private val context: Context) {
            KEY_GESTURE_TYPE_LAUNCH_ASSISTANT to System,
            KEY_GESTURE_TYPE_LAUNCH_VOICE_ASSISTANT to System,
            KEY_GESTURE_TYPE_ALL_APPS to System,
            KEY_GESTURE_TYPE_QUIT_FOCUSED_TASK to System,

            // Multitasking Category
            KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER to MultiTasking,
@@ -117,6 +119,7 @@ class InputGestureMaps @Inject constructor(private val context: Context) {
                R.string.shortcut_helper_category_system_controls,
            KEY_GESTURE_TYPE_LOCK_SCREEN to R.string.shortcut_helper_category_system_controls,
            KEY_GESTURE_TYPE_ALL_APPS to R.string.shortcut_helper_category_system_controls,
            KEY_GESTURE_TYPE_QUIT_FOCUSED_TASK to R.string.shortcut_helper_category_system_controls,
            KEY_GESTURE_TYPE_LAUNCH_SYSTEM_SETTINGS to
                R.string.shortcut_helper_category_system_apps,
            KEY_GESTURE_TYPE_LAUNCH_ASSISTANT to R.string.shortcut_helper_category_system_apps,
@@ -183,6 +186,7 @@ class InputGestureMaps @Inject constructor(private val context: Context) {
            KEY_GESTURE_TYPE_LAUNCH_ASSISTANT to R.string.group_system_access_google_assistant,
            KEY_GESTURE_TYPE_LAUNCH_VOICE_ASSISTANT to
                R.string.group_system_access_google_assistant,
            KEY_GESTURE_TYPE_QUIT_FOCUSED_TASK to R.string.group_system_close_window,

            // Multitasking Category
            KEY_GESTURE_TYPE_RECENT_APPS_SWITCHER to R.string.group_system_cycle_forward,
+12 −0
Original line number Diff line number Diff line
@@ -33,11 +33,14 @@ import android.view.KeyEvent.KEYCODE_RECENT_APPS
import android.view.KeyEvent.KEYCODE_S
import android.view.KeyEvent.KEYCODE_SLASH
import android.view.KeyEvent.KEYCODE_TAB
import android.view.KeyEvent.KEYCODE_W
import android.view.KeyEvent.META_ALT_ON
import android.view.KeyEvent.META_CTRL_ON
import android.view.KeyEvent.META_META_ON
import android.view.KeyEvent.META_SHIFT_ON
import android.view.KeyboardShortcutGroup
import android.view.KeyboardShortcutInfo
import android.window.DesktopExperienceFlags
import com.android.hardware.input.Flags.enableQuickSettingsPanelShortcut
import com.android.systemui.Flags.shortcutHelperKeyGlyph
import com.android.systemui.dagger.qualifiers.Main
@@ -207,6 +210,15 @@ constructor(@Main private val resources: Resources, private val inputManager: In
                command(META_META_ON, KEYCODE_L)
            }
        )
        if (DesktopExperienceFlags.CLOSE_TASK_KEYBOARD_SHORTCUT.isTrue()) {
            // Close focused task:
            //  - Meta + Ctrl + W
            add(
                shortcutInfo(resources.getString(R.string.group_system_close_window)) {
                    command(META_META_ON or META_CTRL_ON, KEYCODE_W)
                }
            )
        }
    }

    private fun systemAppsShortcuts() =