Merge "Readme for AccessibilityMenu" into udc-dev
This commit is contained in:
40
packages/SystemUI/accessibility/accessibilitymenu/README.md
Normal file
40
packages/SystemUI/accessibility/accessibilitymenu/README.md
Normal file
@@ -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.
|
||||
Reference in New Issue
Block a user