diff options
| author | 2023-03-15 23:05:33 +0000 | |
|---|---|---|
| committer | 2023-03-27 21:53:23 +0000 | |
| commit | 8385092d92d11f15fba791c0f5888f6f1719af8b (patch) | |
| tree | 7d613f2dc464e811b79d80d05ef04df7183eb5b6 | |
| parent | b3295cfdf02d78a4e8162bd60014c8f8404bb2cf (diff) | |
Readme for AccessibilityMenu
Bug: 266252374
Fix: 266252374
Test: navigate to the root of the project and peruse the readme
Change-Id: I2fa1d451e8a3392afe83939b0d9f0a6fa930523a
| -rw-r--r-- | packages/SystemUI/accessibility/accessibilitymenu/README.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/SystemUI/accessibility/accessibilitymenu/README.md b/packages/SystemUI/accessibility/accessibilitymenu/README.md new file mode 100644 index 000000000000..b7fc363d4a8c --- /dev/null +++ b/packages/SystemUI/accessibility/accessibilitymenu/README.md @@ -0,0 +1,40 @@ +The Accessibility Menu is an accessibility service +that presents a large on-screen menu to control your Android device. +This service can be enabled from the Accessibility page in the Settings app. +You can control gestures, hardware buttons, navigation, and more. From the menu, you can: + +- Take screenshots +- Lock your screen +- Open the device's voice assistant +- Open Quick Settings and Notifications +- Turn volume up or down +- Turn brightness up or down + +The UI consists of a `ViewPager` populated by multiple pages of shortcut buttons. +In the settings for the menu, there is an option to display the buttons in a 3x3 grid per page, +or a 2x2 grid with larger buttons. + +Upon activation, most buttons will close the menu while performing their function. +The exception to this are buttons that adjust a value, like volume or brightness, +where the user is likely to want to press the button multiple times. +In addition, touching other parts of the screen or locking the phone through other means +should dismiss the menu. + +A majority of the shortcuts correspond directly to an existing accessibility service global action +(see `AccessibilityService#performGlobalAction()` constants) that is performed when pressed. +Shortcuts that navigate to a different menu, such as Quick Settings, use an intent to do so. +Shortcuts that adjust brightness or volume interface directly with +`DisplayManager` & `AudioManager` respectively. + +To add a new shortcut: + +1. Add a value for the new shortcut to the `ShortcutId` enum in `A11yMenuShortcut`. +2. Put an entry for the enum value into the `sShortcutResource` `HashMap` in `A11yMenuShortcut`. +This will require resources for a drawable icon, a color for the icon, +the displayed name of the shortcut and the desired text-to-speech output. +3. Add the enum value to the `SHORTCUT_LIST_DEFAULT` & `LARGE_SHORTCUT_LIST_DEFAULT` arrays +in `A11yMenuOverlayLayout`. +4. For functionality, add a code block to the if-else chain in +`AccessibilityMenuService.handleClick()`, detailing the effect of the shortcut. +If you don't want the shortcut to close the menu, +include a return statement at the end of the code block. |