Commit Graph

1589 Commits

Author SHA1 Message Date
Treehugger Robot
428829bfc5 Merge "Provide installed a11y services/activities from dynamicRawData for search" into main 2024-09-13 20:19:40 +00:00
Treehugger Robot
b041a687ca Merge "Uses placeholder and percentage formatter for seek bar state strings." into main 2024-09-12 22:41:52 +00:00
Daniel Norman
1b98e50809 Uses placeholder and percentage formatter for seek bar state strings.
Placeholders and percentage formatter are best practice to help prevent
accidental translation errors, especially when mixing formatted strings
with literal percent signs.

Fix: 366201919
Flag: EXEMPT minor string format fix with no functionality change
Test: Use TalkBack to observe the state description of the seekbar;
      observe description is unchanged (e.g. "60% left, 40% right")
Test: atest BalanceSeekBarTest
Change-Id: Ie9dcc9219d253795be31b39279ed9d01d8794f66
2024-09-12 20:50:30 +00:00
Chun-Ku Lin
3f19805209 Provide installed a11y services/activities from dynamicRawData for search
Bug: 354076686
Flag: com.android.settings.accessibility.fix_a11y_settings_search
Test: Search Project Relate and verify the item shows up in the search
result
Test: Search Talkback with keywords, verify the Talkback shows up in the
search result
Test: atest AccessibilitySettingsTest

Change-Id: I258ecb0928308b7cde30c12104408e11cc25ecd5
2024-09-12 17:20:04 +00:00
Riley Jones
23fd32c6d1 Quick fix for FAB fade setting summary
Fixes the fade setting to properly set its summary when not disabled.

Flag: EXEMPT internal change
Bug: 349178637
Test: Check the settings page with navigation button mode and FAB button mode. Verify the summary of the fade setting is correct in both cases.
Change-Id: Ia87a634fd69e6098f1a0a658f788e69d10f2dbec
2024-09-12 00:01:27 +00:00
Riley Jones
8d7cd93e46 Merge "Remove mentions of "gesture" on the Accessibility Button settings page" into main 2024-09-10 23:31:54 +00:00
Riley Jones
28e10455a1 Remove mentions of "gesture" on the Accessibility Button settings page
Configures page to hide/replace elements that would mention gesture.
Also, provides context when necessary if a setting is disabled by the current button mode.

Demonstration video:
https://x20web.corp.google.com/users/jo/jonesriley/splitShortcut/a11yShortcutSettingsCleanup.mp4

Test: manual, navigate to the Accessibility Button "more options" page in gesture navigation mode. Verify there are no references to gesture.
Bug: 349178639
Flag: android.provider.a11y_standalone_gesture_enabled
Change-Id: I067738d23e74c00bab4010d187820d09013809ad
2024-09-10 17:49:45 +00:00
Daniel Norman
216353a770 Makes Caption Language searchable only if captions are enabled.
Fix: 354785578
Flag: com.android.settings.accessibility.fix_a11y_settings_search
Test: atest CaptioningMoreOptionsFragmentTest
Test: adb shell pm clear com.google.android.settings.intelligence;
      disable captioning;
      search Settings for 'language', observe caption language missing
      enable captioning;
      search Settings for 'language', observe caption language present
Change-Id: I015d2c77fbd3f7b8fe713bafb3a49a86160ca958
2024-09-07 00:56:13 +00:00
Treehugger Robot
dcc2530964 Merge "Populates collection info count for A11y toggle feature pages." into main 2024-09-05 21:27:35 +00:00
Chun-Ku Lin
3ed0afc982 Merge "Pass null looper if the looper is not prepared in the calling thread" into main 2024-09-03 17:09:29 +00:00
Angela Wang
ed519640fa Add hearing device related logs in Settings
1. The HAC toggle on/off event
2. The "See more devices" button click in hearing device pairing page
3. The preset changed event in Bluetooth device details page

Flag: EXEMPT, simple log
Bug: 361206470
Test: manually check on go/atomviewer
Test: atest BluetoothDetailsHearingAidsPresetsControllerTest
Change-Id: I743ea136ec4cb3370c0463df865db830e73e7997
2024-09-03 08:06:43 +00:00
Chun-Ku Lin
d077ca6dd9 Pass null looper if the looper is not prepared in the calling thread
**Root cause**
The PreferenceController can be constructed by the
SettingsSearchIndexablesProvider where the looper of the thread is not
prepared. This result in not able to construct the PreferenceController
that will be used as part of the SettingsSearch.

Currently, if the SettingsSearchIndexablesProvider is not able to
construct the PreferenceController defined in xml, it would just
silently failed.

Test: atest SettingsUnitTests
Test: atest SettingsRoboTests

Flag: EXEMPT low risk bugfix
Bug: 352622249
Change-Id: I72a4ce24ec6842b9efe067e3cb7d1c73cd98a566
2024-08-29 23:02:34 +00:00
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
Daniel Norman
1890c16f90 Populates collection info count for A11y toggle feature pages.
This helps an accessibility service like TalkBack inform the user that
there are items that are skipped when navigating the list because they
are unimportant to accessibility.

Bug: 318607873
Test: atest AccessibilityFragmentUtilsTest
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Test: Enable TalkBack that supports the collection info count feature,
      open any of the pages from the bug, observe the item count and
      (un)important count are correct.
Flag: com.android.settings.accessibility.toggle_feature_fragment_collection_info
Change-Id: If64c89f2eb2f8301076baa79b9530124c850d2fc
2024-08-27 23:36:19 +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