Commit Graph

1576 Commits

Author SHA1 Message Date
Pat Manning
f81aec1662 Replace Large mouse pointer setting with Pointer Scale
Bug: 269100659
Test: LargePointerIconPreferenceControllerTest
Flag: android.view.flags.enable_vector_cursor_a11y_settings
Change-Id: Ic643eb1eb862388eddf5d6f3de2d25739d4d23ad
2024-08-28 11:16:09 +00:00
Treehugger Robot
b0b3269725 Merge "Stops hiding a11y services with the same package+label as an activity." into main 2024-08-22 00:03:59 +00:00
Treehugger Robot
4c7e923250 Merge "fix(Color correction): Display default value in slider to match the radio button" into main 2024-08-15 21:40:41 +00:00
Isaac Chai
23258c2b10 fix(Color correction): Display default value in slider to match the radio button
The default value for display in the radio buttons were hard-coded and was not
being reflected to the slider correctly.

Bug: 359379399
Test: locally tested + unit tests added
Flag: com.android.server.accessibility.enable_color_correction_saturation

Change-Id: I95bd0ae1d32561dbbf6b4e87efe70595c9566de8
2024-08-15 19:53:13 +00:00
Ming-Shin Lu
8ec4d71630 Remove VibrationAttributes#CATEGORY_KEYBOARD (in Settings)
Since CL[1], [2] introduced USAGE_IME_FEEDBACK in VibrationAttributes
to be able to specify default / current vibration in VibrationSettings
according to the vibration usage naturally without using this category
attribute + a bypass flag to only support a fixed vibration scaling.

Remove CATEGORY_KEYBOARD attribute and replacing with USAGE_IME_FEEDBACK
in Settings for cleaning up logic.

[1]: I6256c4f47a8bbee4b649d35eabfbc0c94215c0d7
[2]: I764aa8bd72889d4af62b30bff75af9033f22052b

Flag: EXEMPT refactor
Bug: 332661766
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I532e7d184d235bfa266fb590e60802c4e2fa7df2
2024-08-15 15:01:52 +00:00
Daniel Norman
c38fd822ba Stops hiding a11y services with the same package+label as an activity.
Bug: 353700779
Test: atest AccessibilitySettings, ensure new test passes
Test: revert AccessibilitySettings.java change, ensure new test fails
Test: Install poc APKs from the bug, observe issue not reproducible
Flag: NONE security fix
Change-Id: Ie680e80169aa734f2559fe50ef06e4d1eae46779
2024-08-14 22:48:06 +00:00
Jason Hsu
c98fd48306 Merge "Flash Notifications color dialog crashs if configuration changes" into main 2024-08-10 08:03:32 +00:00
jasonwshsu
e08c1a5f92 Flash Notifications color dialog crashs if configuration changes
Root Cause:
When configuration changes, it will recreate fragment then call no args constructor which lead to null pointer exception for error passing parameters in getInstance().

Solution:
* Use setArguments() to pass parameters.
* Move settings key update action into fragment.
* Obsever settings key changes to update summary accordingly.

Bug: 349049233
Test: atest ScreenFlashNotificationColorDialogFragmentTest ScreenFlashNotificationPreferenceControllerTest
Flag: EXEMPT bugfix
Change-Id: Ided0853cf9a989e2f288a85c1aa709f71f7e1cd6
2024-08-10 10:24:30 +08:00
Riley Jones
386dda7028 Merge "Adjust edit shortcuts page to display button & gesture" into main 2024-08-08 17:24:46 +00:00
Riley Jones
1e80db4ee3 Adjust edit shortcuts page to display button & gesture
Page is altered to display the FAB shortcut
and gesture shortcut simultaneously when the user is in
gesture navigation mode.
The gesture option does not display the "more options" link.
Additionally, the gesture option controller uses the GESTURE type,
which means it will read from & write to the gesture setting.
All this behavior is flag protected.

Bug: 300318311
Test: atest FloatingButtonShortcutOptionControllerTest GestureShortcutOptionControllerTest
Flag: android.provider.a11y_standalone_gesture_enabled
Change-Id: I915f05b2102ce499bb906df2c13e0870ae0a36d5
2024-08-08 00:14:09 +00:00
Angela Wang
73fd3c1e3f Merge "Update UI for Flash notifications" into main 2024-08-07 07:11:40 +00:00
Ming-Shin Lu
55102216e1 Merge "Delete keyboard_category_enabled flag (2/2)" into main 2024-08-06 11:38:41 +00:00
Daniel Norman
2a8c60ff6f Merge "Never restricts Accessibility Activities based on ECM/admin." into main 2024-08-05 22:59:40 +00:00
Ming-Shin Lu
bc79a1e074 Delete keyboard_category_enabled flag (2/2)
As keyboard_category_enabled feature has launched, remove the feature
flag since it's unnessary.

And, this CL is the preparation of removing CATEGORY_KEYBOARD vibration
attribute and logic, remove the flag usage ing settings since no longer
need this flag.

Flag: EXEMPT flag removal
Bug: 332661766
Test: build
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I19cecb977d52a74b26eea1f494052e0e852359c4
2024-08-05 14:06:24 +00:00
Angela Wang
4ad8e0c568 Update UI for Flash notifications
1. Hide the preview button when it's disabled
2. Change the text from “Done” to “Save” in the color selector dialog

Flag: EXEMPT simple UI change
Bug: 356978471
Test: manually, video attached on the bug
Test: atest FlashNotificationsPreviewPreferenceControllerTest
Change-Id: I2e6e697ad10f0207602d613085663cdd82521ea2
2024-08-05 06:46:50 +00:00
Chun-Ku Lin
767f58785a Physical keyboard related options shouldn't be searchable when invisible
Physical keyboard options category is hidden when there is no hardware
keyboard. It's related preferences are hidden in this case. Hence those
preferences shouldn't be searchable.

Bug: 351047456
Test: manually search "bounce keys", "sticky keys" and "slow keys",
they're not searchable when invisible on Accessibility page
Test: atest
Flag: com.android.settings.accessibility.fix_a11y_settings_search

Change-Id: I1eb465dd34e59d856bb1fa7c06bc253971a8c8d0
2024-07-31 18:04:55 +00:00
Daniel Norman
0e44239daf Never restricts Accessibility Activities based on ECM/admin.
Keeps accessibility activity preference as inheriting from
RestrictedPreference since it shares lots of behavior with the
accessibility service perference (same base class), but always
calls setEnabled(true) for activities.

Fix: 331990900
Flag: com.android.settings.accessibility.never_restrict_accessibility_activity
Test: atest RestrictedPreferenceHelperTest
Change-Id: I39971bc3f65aa630fa62a0e31132f177fd21b635
2024-07-30 21:34:23 +00:00
Chun-Ku Lin
919019ca56 [Flag cleanup] edit_shortcuts_in_full_screen is always on now
- Cleaned up the code that won't be executed when the flag is on
- Remove unused resources

Bug: 300302098
Test: Manually verify the user can change the shortcut type, and the
changes are saved
Test: atest com.android.settings.accessibility
Flag: EXEMPT removing com.android.settings.accessibility.edit_shortcuts_in_full_screen

Change-Id: I1e32b724ca3da909feda55e20fb1d51dc4680c09
2024-07-25 22:49:02 +00:00
Yuchen Sun
ed3594fe61 Merge "Clean up preference_summary_default_combination in Settings." into main 2024-07-24 04:29:03 +00:00
Yuchen
48f304a23f Clean up preference_summary_default_combination in Settings.
Test: Existing tests passed
Flag: EXEMPT clean up
Bug: 328519240
Change-Id: I86996c43243b7a8e2d4b1a83180c189986b3a6ca
2024-07-24 02:36:09 +00:00
Daniel Norman
914643da7d Merge "Checks that prebundled categories contain only preinstalled contents." into main 2024-07-23 19:14:59 +00:00
Isaac Chai
8b1135e1c9 Merge "feat(color correction): Disable slider when not applicable" into main 2024-07-22 22:43:39 +00:00
Daniel Norman
20d2eabe35 Checks that prebundled categories contain only preinstalled contents.
Bug: 353888087
Test: atest AccessibilitySettingsTest
Test: manually check all prebundled services are still in their proper
      groups, even after installing an APK update
Flag: com.android.settings.accessibility.check_prebundled_is_preinstalled
Change-Id: I023db9c37d7990deb50c9eec516619f0a8db65b7
2024-07-22 21:42:59 +00:00
Isaac Chai
581fbc8dfa feat(color correction): Disable slider when not applicable
We received feedback that slider should be disabled when it's not
applicable, namely when it's off and when mode == gray scale.

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

Change-Id: I1162a501a797a1d2b30da76f0c75e5fdea3f61d2
2024-07-22 21:09:54 +00:00
Candice Lo
b9e9632f32 Merge "feat(EvenDimmer): refactor the initialization process" into main 2024-07-19 05:50:33 +00:00
Yiyi Shen
9eaf954e19 Merge "Fix dup preference key on Connected devices page" into main 2024-07-16 02:45:44 +00:00
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
chihtinglo
b24288e0c7 feat(EvenDimmer): refactor the initialization process
Moving the initialization for SettingsContentObserver from the
constructor to onCreate.

Bug: 349458355
Test: atest AccessibilitySettingsTest
Flag: EXEMPT refactor
Change-Id: I5ab2eda96b39eb4cb0b57efd55b3df244a72ed5e
2024-07-12 20:46:33 +08: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
483d90b552 Simplify default keyboard vibration settings value
CL[1] remove the default keyboard vibration state
device config, use the fixed value in the controller.

[1]: I9060fbc83087599fa0d9a56be3de27a2dcf15a94

Flag: EXEMPT refactor
Bug: 332660772
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I7e5a195047e96582bd80898134051924c0ad72ab
2024-07-01 08:06:41 +00:00
Yiyi Shen
07a346fcf5 Fix dup preference key on Connected devices page
Use different key (prefix + CacheBluetooothDevice hash) for
each BluetoothDevicePreference to avoid Java crash due to "Two different
ViewHolders have the same change ID".

Test: atest
Fix: 325831741
Flag: EXEMPT safe fix only change preference key string
Change-Id: Ic993f3cab206b794045c2f46e6b4b376bfa3adea
2024-07-01 15:32:34 +08: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
b0220d8878 Merge "chore(brightness suw): adjust auto brightness detail page footer content description" into main 2024-06-26 03:51:47 +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
Chun-Ku Lin
764f8d73a4 Don't show the QuickSetting tooltip when we stopped auto add qs tile for
the user

Bug: 348110750
Test: atest ReduceBrightColorsPreferenceControllerTest
Test: manual
- Go to Settings > Accessibility
- Turn on Extra dim for the first time
- Verify the QS tooltip prompt doesn't show up
Flag: android.view.accessibility.a11y_qs_shortcut

Change-Id: I6fecb818df3bb865ba81cbcda94149a98d8255ab
2024-06-20 23:36:03 +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
Chun-Ku Lin
b9ee1c4877 Load icon in the background, also load extra data that would be used
later in the background.

Bug: 327052480
Test: atest com.android.settings.accessibility
Flag: EXEMPT bugfix
Change-Id: I9940772e60e2137aad2b3b70902565e36fb7aad6
2024-06-04 02:07:18 +00:00
Chun-Ku Lin
ba408fbb06 [Refactor] Create a dedicated AccessibilityServicePreference and
AccessibilityActivityPreference to encapture the method for loading the
content for AccessibilityService and AccessibilityShortcutInfo

Bug: 327052480
Test: atest com.android.settings.accessibility
Flag: EXEMPT mechanical refactor

Change-Id: I698a1d366e8ab82c8efdcae293a1ba1771925121
2024-06-04 00:22:44 +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
38236869ee Merge "Update a11y shortcut images" into main 2024-05-31 17:53:12 +00:00