Commit Graph

677 Commits

Author SHA1 Message Date
Chun-Ku Lin
ec61f8bea3 Move PreferenceControllers to member variables to prevent memory leak
- Move PreferenceControllers to xml
- Clean up the PreferenceController so that it's less tied to a fragment
- Update and clean up the related robolectric test, so there are less
  mocks needed

Bug: 352606511
Test: manually check the Color Correction screen is shown correctly, and
choosing color correction options are reflected correctly
Test: atest DaltonizerRadioButtonPreferenceControllerTest
Test: atest ToggleDaltonizerPreferenceFragmentTest
Flag: EXEMPT (moving controller to xml can't be flagged)

Change-Id: I89b9366cfd7a398bb0572d34226d31d49373fd94
2024-07-15 21:34:14 +00:00
Daniel Norman
034e6db92e Merge "Uses a custom state description for the Audio Balance seek bar." into main 2024-07-11 00:45:37 +00:00
Riley Jones
d902bdbb62 Merge "Refactoring Accessibility settings to use ShortcutConstants.UserShortcutType" into main 2024-07-09 20:59:30 +00:00
Daniel Norman
0771fd8a9e Uses a custom state description for the Audio Balance seek bar.
This makes the seek bar more informative for a user of a screen reader
or other accessibility service. See context in b/319575109#comment7.

Bug: 319575109
Flag: com.android.settings.accessibility.audio_balance_state_description
Test: Use TalkBack to observe the state description while moving the
      seek bar.
Test: atest BalanceSeekBarTest
Change-Id: I7be15b26116f83854efe69d6b0560edde946daf5
2024-07-08 23:30:41 +00:00
Riley Jones
8f313621aa Refactoring Accessibility settings to use ShortcutConstants.UserShortcutType
This removes AccessibilityUtil.UserShortcutType,
replacing all mention of it with ShortcutConstants.UserShortcutType

NO_IFTTT=UI order not changed
Test: atest com.android.settings.accessibility
Bug: 322014084
Flag: EXEMPT internal refactoring

Change-Id: I18695d040c4bd08a455143594e770adda2b1a8de
2024-07-01 19:42:32 +00:00
Wilson Wu
789aacf499 Clean up the keyboard vibration config
-. Remove the device config in Settings
-. Use the new config in frameworks/base

Flag: EXEMPT refactor
Bug: 332661307
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I2fe70d830d55ec6f33597fbe0ed107b41eb3bdd7
2024-07-01 03:09:56 +00:00
Roy Chou
5d5392d48e Merge "chore(onefingerpan): update onefingerpan preference summary and magnification settings page footer description" into main 2024-06-27 01:11:31 +00:00
Roy Chou
2f1a7d6155 chore(onefingerpan): update onefingerpan preference summary and magnification settings page footer description
Based on b/338409557#comment5, we update the onefingerpan toggle's
summary, and make the magnification settings page's footer HTML
description be dynamic based on one finger panning preference state.

Bug: 338409557
Flag: com.android.server.accessibility.enable_magnification_one_finger_panning_gesture
Test: manually
      atest MagnificationOneFingerPanningPreferenceControllerTest
      atest ToggleScreenMagnificationPreferenceFragmentTest
      atest ToggleFeaturePreferenceFragmentTest
Change-Id: I817cad4fb0c034bcd2db0485ca27c30ea88a0280
2024-06-25 14:22:27 +00:00
Roy Chou
e8288512ee chore(brightness suw): adjust auto brightness detail page footer content description
Ref to the bug, s2s and talkback pages' footer content descriptions are
prefixed with "About XXX" for talkbalk info announcement. Therefore, for
auto brightness detail page in SUW, we also prefix "About adaptive
brightness" to the footer preference content description, to improve
the consistency with other accessiblity feature suw pages.

Bug: 347859318
Flag: com.android.settings.accessibility.add_brightness_settings_in_suw
Test: manually
      atest AutoBrightnessPreferenceFragmentForSetupWizardTest
Change-Id: Ieda4bcffb4f4e11ea68c961beee5c2fff1b29f2c
2024-06-24 06:10:07 +00:00
Angela Wang
7b46a822ee Merge "Fix incorrect summary for LE audio hearing aids" into main 2024-06-12 08:11:29 +00:00
Angela Wang
5fef3c2bb0 Fix incorrect summary for LE audio hearing aids
For LE audio lead device, the `CachedBluetoothDevice.isConnected()` will return true since `BluetoothLeAudio.getConnectionStatus(device)` will return STATE_CONNECTED even if the device is powered off. Changing to use `CachedBluetoothDevice.getDevice().isConnected()` can avoid the wrong value of the connection status of the device.

Bug: 325524694
Flag: EXEMPT bugfix
Test: atest AccessibilityHearingAidPreferenceControllerTest
Change-Id: If763c0861bb5796d9bc0511916b7077c784b49f5
2024-06-11 04:55:57 +00:00
Chun-Ku Lin
bcb877406f Merge "Improve the speed of AccessibilitySettings#containsTargetNameInList to help reduce the a11y settings' cold start latency." into main 2024-06-07 21:17:44 +00:00
Chun-Ku Lin
7e03bf65c7 Improve the speed of AccessibilitySettings#containsTargetNameInList to
help reduce the a11y settings' cold start latency.

Bug: 327052480
Flag: EXEMPT bugfix low risk
Test: atest com.android.settings.accessibility
Test: manual (a11y settings page still shows up with correct content)
Change-Id: Ib9980756d88a218ebb10f17d6a3b0d9a406a0ddd
2024-06-07 02:41:26 +00:00
Chun-Ku Lin
b80641ba26 Loading the A11yHearingAidPreference summary in the background
Bug: 327052480
Flag: EXEMPT low risk bug fix
Test: atest com.android.settings.accessibility
Change-Id: I644be0c7ee289a4ea675984068ac494b97ebff68
2024-06-06 23:11:51 +00:00
Daniel Norman
5a20cfb469 Merge "Update A11ySettings to load preferences in onCreate()." into main 2024-06-03 19:06:23 +00:00
Daniel Norman
c3b2165dfe Update A11ySettings to load preferences in onCreate().
This version still only loads preferences once, but the previous attempt
commit 774bbc1ff2
created a "sliding" effect as the preferences were loaded after the page
became visible to the user.

Also reorders methods so that their position in the source file matches
the Activity lifecycle ordering.

Bug: 327052480
Test: existing A11y Settings robotest presubmit
Test: Launch this page from the Settings app, observe no sliding UI
Flag: NONE low risk visual bug fix
Change-Id: I44312ada359aef7dec8eb27c57cde2a8e00f254b
2024-06-01 22:24:18 +00:00
Chun-Ku Lin
833bbccd30 Update a11y shortcut images
- Update QS, gesture, volume keys shortcut type images
- Change FAB image to animated image
- Change 2-finger double tap, triple tap animated images
- Fix the alpha value set in the FAB preview

Bug: 324312956
Test: Run and view the images
Test: atest com.android.settings.accessibility
Flag: EXEMPT low risk, resource change
Change-Id: Ic0f1953ca20fc8a3dc7b684f95ee18dae67c4f09
2024-05-29 01:43:44 +00:00
Roy Chou
dc92a296b5 chore(magnification): cleanup flag usage of hide_magnification_always_on_toggle_when_window_mode_only
The bug-fix flag is already soaking in trunkfood full stage for a while.
Since there is no coming issues related to the fix, we can apply the fix
and remove the flag usage.

Bug: 341203230
Flag: NONE
Test: manually
      atest MagnificationAlwaysOnPreferenceControllerTest
Change-Id: I7e6ef8e03e7b7291d2faa15351669a91a50f59a5
2024-05-21 16:07:25 +00:00
Roy Chou
575259e049 Merge changes Ife935485,Ic9b44d73,I44f7f058,I39868ac1,I05c59a76 into main
* changes:
  chore(magnification suw): hide joystick toggle in setup wizard
  chore(magnification suw): hide one finger pan toggle in setup wizard
  refactor(magnification suw): hide follow typing toggle in setup wizard
  chore(magnification suw): hide always on toggle in setup wizard
  chore(magnification suw): create MagnificationFeaturePreferenceController
2024-05-21 05:25:12 +00:00
Roy Chou
a511ddb75a chore(magnification suw): hide joystick toggle in setup wizard
Although we haven't implemented joystick feature, but the joystick
preference controller is already in the codebase, so we also add hiding
logic for joystick toggle when in setup wizard.

Bug: 340721852
Flag: NONE
Test: manually
      atest MagnificationJoystickPreferenceControllerTest
Change-Id: Ife93548583c3e82eac030e6e3aa55b9f643b055a
2024-05-21 03:37:37 +00:00
Roy Chou
f094c19d0a chore(magnification suw): hide one finger pan toggle in setup wizard
Bug: 340721852
Flag: NONE
Test: manually
      atest MagnificationOneFingerPanningPreferenceControllerTest
Change-Id: Ic9b44d73f75b47e6b97c5f4994b2e0b23bfb623b
2024-05-21 03:37:12 +00:00
Roy Chou
c9d3b39a62 refactor(magnification suw): hide follow typing toggle in setup wizard
Originally we cache mFollowingTypingSwitchPreference in fragment so in
ToggleScreenMagnificationPreferenceFragmentForSetupWizard we can set the
preference visible to false to hide it. After creating MagnificationFeaturePreferenceController,
the MagnificationFollowTypingPreferenceController can extend it and
check isInSetupWizard internally then dicide whether to hide. Therefore,
we don't need to cache mFollowingTypingSwitchPreference in fragment
and let the fragment control the preference visibility anymore.

Bug: 340721852
Flag: NONE
Test: manually
      atest MagnificationFollowTypingPreferenceControllerTest
      atest ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest
      atest ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I44f7f0589b2df3d83a27139323fc68a0561f1cfa
2024-05-21 03:36:51 +00:00
Roy Chou
3761f61c7e chore(magnification suw): hide always on toggle in setup wizard
Bug: 340721852
Flag: NONE
Test: manually
      atest MagnificationAlwaysOnPreferenceControllerTest
Change-Id: I39868ac1d4423584e43473683db20a2259311049
2024-05-21 03:36:38 +00:00
Song Chun Fan
b17c5b2489 Merge "Rmove unuseful test for PackageMonitor change" into main 2024-05-20 16:59:11 +00:00
TYM Tsai
9fc6c88697 Rmove unuseful test for PackageMonitor change
In PackageMonitor, it is no longer based on broadcast receivers to
listen package added/removed/... events. Therefore the verification
should be removed.

Bug: 340387113
Test: atest SettingsRoboTests:com.android.settings.accessibility.AccessibilitySettingsTest
Change-Id: I7b0d46add06c74f1b9bf1097f92dececa9b130de
2024-05-20 15:13:37 +00:00
Isaac Chai
4bf537a815 Color correction saturation level settings
Adding settings UI for color saturation level change, guarded by feature
flag.

Test: Locally tested + unit tests added
Bug: 322829049
Flag: com.android.server.accessibility.enable_color_correction_saturation

Change-Id: Ifa816647b16534ab6da770584d3de0628734aed5
2024-05-15 20:58:44 +00:00
Roy Chou
535494eca9 Merge "feat(brightness suw): add brightness preferences in suw" into main 2024-05-15 07:25:06 +00:00
Roy Chou
042c8c7328 feat(brightness suw): add brightness preferences in suw
Add brightness level and auto brightness preference in
accessibility_settings_for_setup_wizard.xml. Since the flagging has not
be supported yet for non-Manifest resources, for now we add the
preferences by default, and update the preferece availablity status in
each preference controllers based on the flag.

Bug: 311093618
Flag: ACONFIG com.android.settings.accessibility.add_brightness_settings_in_suw DEVELOPMENT
Test: manually
      atest AccessibilitySettingsForSetupWizardTest
      atest AutoBrightnessPreferenceFragmentForSetupWizardTest
      atest AutoBrightnessPreferenceControllerTest
      atest BrightnessLevelPreferenceControllerTest
Change-Id: I350d99138bdd14bf28828a39e42f707b5b1066c1
2024-05-15 03:19:40 +00:00
marcusge
24289fa084 [Contrast] Migrate contrast settings into Display
Test: local raven device
Bug: 333905689

Change-Id: Ie94633c23ebe024b8fb48d7ffebdd7b1dfa588da
2024-05-09 06:32:29 +00:00
Ang Li
9e4b73a2fa Merge "Adapt to the new API of ShadowCaptioningManager." into main am: 1d591b26a9 am: ae15c01dcc
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3080265

Change-Id: Ib0297be4453b1450eca244ce94705eebc31ef090
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-09 01:00:18 +00:00
Ang Li
f0e6f12f10 Adapt to the new API of ShadowCaptioningManager.
Test: Presubmit.
Change-Id: If90894a2438ff5e0aec8e727036f7a656f4c712a
2024-05-08 22:16:33 +00:00
Angela Wang
14a708a2ad Update string resource for HA summary
Update the message format to align with existing pattern.

Bug: 333912856
Bug: 307705966
Test: atest AccessibilityHearingAidPreferenceControllerTest
Change-Id: Ib8b38e6dc0df732c16f976911597076f6f92ed25
2024-04-25 07:55:34 +00:00
Chun-Ku Lin
5b08a3d7ce Make QS shortcut as the default shortcut type only if it's an a11y tool
Bug: 333602196
Test: atest ToggleAccessibilityServicePreferenceFragmentTest
Flag: android.view.accessibility.a11y_qs_shortcut aconfig Nextfood
Change-Id: I108e8ab127bcae545b92166a0147f5fee89f9e94
2024-04-19 23:20:16 +00:00
Roy Chou
39e42bf97a Merge "feat(onefingerpan): hide the one finger pan settings when window mode only" into main 2024-04-18 03:07:04 +00:00
Roy Chou
acf98a6a4a feat(onefingerpan): hide the one finger pan settings when window mode only
Like MagnificationAlwaysOn toggle behavior, when the magnification
capability is window-mode only we'll hide the OneFingerPan toggle too.

Also do a small refactoring in MagnificationOneFingerPanningPreferenceControllerTest

Bug: 333821725
Flag: ACONFIG com.android.server.accessibility.enable_magnification_one_finger_panning_gesture TEAMFOOD
Test: manually
      atest MagnificationOneFingerPanningPreferenceControllerTest
      atest ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I8684b5bae5cbfc5b75fc4c14d2e9173b17d0fb02
2024-04-15 07:16:57 +00:00
Chun-Ku Lin
bbb2f96af3 [Flag cleanup] remove separate_accessibility_vibration_settings_fragments
This bug fix associated with this flag is low risk. The flag has been
soaked in the Trunkfood full for 30 days and tested by 1000+ users.
Based on the flag cleanup policy, we can clean up the flag.

Bug: 289967175
Flag: EXEMPT flag cleanup
Test: Run the Settings app and can still see the vibration & haptics
screen

Change-Id: I39890a33f04b53565461ae2c6c4e63b94f205e6d
2024-04-10 19:27:55 +00:00
Marcus Ge
5143f265ae Merge "[Accessibility] Hide Color Contrast entry point in Accessibility" into main 2024-04-02 00:36:26 +00:00
marcusge
00b6384d3c [Accessibility] Hide Color Contrast entry point in Accessibility
Test: local raven device
Bug: 241805782

Change-Id: I9f0825df68a0c2bdb90ba068b0e4b133cbc8ae57
2024-04-01 20:53:14 +00:00
Chun-Ku Lin
dd915a5031 Clean up usages of flag remove_qs_tooltip_in_suw
This bug-fixing flag has been in Trunkfood in two months.

Test: existing presubmit (no functional change)
Bug: 294560581
Change-Id: I05282f1f7ee6b1bb4e4bf873771d80ae68204b4c
2024-04-01 20:13:01 +00:00
Daniel Norman
27607a47a5 Merge "fix(magnification): make always on toggle unavailable when capabilities is window only" into main 2024-03-29 19:09:35 +00:00
Jason Chiu
0bd014c497 [Safer intents] Settings misc
To avoid implicit intents, make intents launch explicitly.

Test: build
Bug: 323061508
Change-Id: Ie19cbceb89842a75a180898abcce81b63c18d46c
2024-03-29 04:22:45 +00:00
Marcus Ge
660defe7a6 Merge changes I60d2b23a,I7cb15a46 into main
* changes:
  [Accessibility] Color Contrast address talkback bugs
  [Accessibility] Color Contrast address UX bugs
2024-03-26 20:26:10 +00:00
marcusge
9ec6673b3f [Accessibility] Color Contrast address talkback bugs
Test: local raven device
Bug: 329352987
Bug: 329192396
Bug: 329187057
Flag: aconfig
com.android.settings.accessibility.enable_color_contrast_control

Change-Id: I60d2b23acb2e406db15f348ba7881577e55a8868
2024-03-26 19:08:42 +00:00
Roy Chou
1c898252cb fix(magnification): make always on toggle unavailable when capabilities is window only
As b/328787031, we make the MagnificationAlwaysOnPreferenceController observe the magnification capabilities then update the preference enabled state. Therefore, when changing the capabilities to window mode only, the preference will become unavailable.

We use the bug-fix flag to verify the fix with rollout process.

Bug: 328787031
Flag: ACONFIG com.android.settings.accessibility.hide_magnification_always_on_toggle_when_window_mode_only DEVELOPMENT
Test: manually flip the flag
      atest MagnificationCapabilitiesTest
      atest ToggleScreenMagnificationPreferenceFragmentTest
      atest MagnificationAlwaysOnPreferenceControllerTest
Change-Id: I1a25f80131d84ecdd927030e40a18ebb32b7862f
2024-03-26 05:11:06 +00:00
Chun-Ku Lin
4c9d268fdf Rename AccessibilityGestureNavigationTutorial to AccessibilityShortcutsTutorial
AccessibilityGestureNavigationTutorial is not only for displaying
tutorial for accessibility gesture shortcut. It's used for display the
tutorials for all the selected accessibility shortcuts. Renamed the
class to match it's responsibility.

Bug: N/A
Flag: EXEMPT Strict mechanical refactors
Test: build succeed locally

Change-Id: I1dd212abc660454e77f18f770c2ecc17be320eaa
2024-03-26 01:13:28 +00:00
Chun-Ku Lin
3aee92e2e8 Update a11y edit shortcut screen's text and tutorial text
Bug: 323792194

Test: manual
Test: atest com.android.settings.accessibility
Test: atest com.android.settings.accessibility.shortcuts

Flag: N/A simple string changes

NO_IFTTT=Introduce new IfThisThenThat lint

Change-Id: I7ba4096d669453c33257880407e85ffe76d358f8
2024-03-25 22:19:10 +00:00
Fan Wu
c788a90669 Remove all LooperMode.LEGACY usages from settings/accessibility
Bug: 331124680

Test: atest
Change-Id: I21cc137358e5cb29c16aeda0b744f36d9f8bf010
2024-03-25 11:42:34 +08:00
Daniel Norman
8ce099c2cd Remove usages of bugfix flag cleanup_accessibility_warning_dialog.
Flag has been in Trunkfood for over a month.

Includes one mechanical refactor to move a method from a now-removed
file into a private method in the class that uses it: createDisableDialog

(This flag guarded a preliminary cleanup and minor bug fix for
b/303511250, but the actual feature for b/303511250 is tracked in a
different flag 'skip_accessibility_warning_dialog_for_trusted_services')

Bug: 303511250
Test: existing tests in Presubmit (no change to behavior)
Change-Id: Iccf439adb2806e988310f503fb3891a6bd022054
2024-03-19 23:05:07 +00:00
Chun-Ku Lin
5cdf972b50 Make QS shortcut type as default preferred shortcut for A11yService that
associate with a TileService

Bug: 322712028
Test: manual (Turn on the shortcut for the first time for various
feature with or without tile. Verify only the A11yService with tile
would show QS as the shortcut when directly turn on the main shortcut
toggle)
Test: atest com.android.settings.accessibility

Flag: aconfig android.view.accessibility.a11y_qs_shortcut
Change-Id: I569b417639d2db8b7eddd818a2b9037ed4be2509
2024-03-18 00:14:43 +00:00
Isaac Chai
00c6677745 Merge "Fix test for MagnificationOneFinger preference test" into main 2024-03-14 02:13:22 +00:00