Commit Graph

789 Commits

Author SHA1 Message Date
Riley Jones
94621548c1 Disabling elements on the A11y Shortcut setting subpage
Elements on the subpage get disabled if there are no enabled shortcut targets for the relevant type.
In the case of A11y button, the items on its fragment become unsearchable when the setting is disabled.

Test: Manually verify conditions described above & in bug
Bug: 349180207
Flag: com.android.settings.accessibility.fix_a11y_settings_search
Change-Id: Id39e2eda6c9d1de4cdbfcbc22b8a1f443e2822d9
2025-01-24 00:59:25 +00:00
Riley Jones
75500c02b2 Cleanup of deprecated A11y settings functions
Bug: 367414968
Test: atest com.android.settings.accessibility
Flag: EXEMPT cleanup
NO_IFTTT= Change does not alter preference list

Change-Id: I64f5f7fba112b6fb5035b88f01c04d9ee309f2c0
2025-01-21 21:07:34 +00:00
Menghan Li
48a229cb88 Merge "chore(magnification suw): Hide feedback preference in setup wizard" into main 2025-01-19 21:50:38 -08:00
Menghan Li
4c9bf742bf chore(magnification suw): Hide feedback preference in setup wizard
Bug: 380346799
Flag: com.android.server.accessibility.enable_low_vision_hats
Test: atest MagnificationFeedbackPreferenceControllerTest
            MagnificationFollowTypingPreferenceControllerTest
            MagnificationJoystickPreferenceControllerTest
            MagnificationOneFingerPanningPreferenceControllerTest
            ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I84f673235a8a4d97667edaabf72d46b985f33351
2025-01-19 20:00:58 -08:00
Wenyu Zhang
4de40b3959 a11y: Hook ignore minor cursor movement setting to its controller
Change-Id: I2c0ac1c36cc600f551d2a89ab3ec6d1405ac58d9
Test: ToggleAutoclickIgnoreMinorCursorMovementControllerTest
Bug: b/388845718
Flag: com.android.server.accessibility.enable_autoclick_indicator
2025-01-16 13:11:46 +00:00
Wenyu Zhang
d683d18132 a11y: Add "Ignore minor cursor movement" autoclick setting
When "Ignore minor cursor movement" is on, the small cursor movement
within the cursor area ring will not interrupt the autoclick timer.

Screenshot: http://b/388845718#comment2

Change-Id: Ib6a8ca8463358a3e2de5ae6be8afd5113a5826ba
Test: ToggleAutoclickIgnoreMinorCursorMovementControllerTest
Bug: b/388845718
Flag: com.android.server.accessibility.enable_autoclick_indicator
2025-01-13 21:31:03 +00:00
Wenyu Zhang
aea94181aa Merge "a11y: Initialize slider position with cursor area size setting" into main 2025-01-09 17:58:57 -08:00
Wenyu Zhang
e031b30d1d a11y: Initialize slider position with cursor area size setting
When the preference loads, initialize the slider position using the
cursor area size value from settings.

In addition, match slider seekbar range and the cursor area size range.

Change-Id: Ib6a8ca8463358a3e2de5ae6be8afd5113a5826be
Bug: b/383901288
Test: ToggleAutoclickCursorAreaSizeControllerTest
Flag: com.android.server.accessibility.enable_autoclick_indicator
2025-01-09 22:31:17 +00:00
Jacky Wang
2ac3cdfb22 Fix memory leak on Accessibility screen
The root cause is that androidx.preference.Preference does not implement
equals and hashCode methods, but it is used as Map key (see bug comment2
for more details). Given that Preference.getParent() can find the
category, we can simplify the data structure from Map to List.

Bug: 388696327
Flag: EXEMPT bugfix
Test: Resume/Pause Accessibility screen 100 times
Change-Id: Ib70acbf2147048730f8a4e8fd66731f9efdadecf
2025-01-09 18:57:38 +08:00
Menghan Li
291e62ffd1 Merge changes from topic "SurveyFeatureProvider_isSurveyAvailable" into main
* changes:
  Add HaTS entrypoint for Magnification page
  Add controller for magnification feedback preference
  Add a new API: checkSurveyAvailable
2025-01-09 01:14:45 -08:00
Menghan Li
e218280902 Add HaTS entrypoint for Magnification page
This entry point allows users to access and adjust Magnification
settings for low vision accessibility. Visibility is controlled by
the aconfig flag and SurveyFeatureProvider#isSurveyAvailable.

NO_IFTTT=Revisit preference_list scope

Bug: 380346799
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Flag: com.android.server.accessibility.enable_low_vision_hats
Change-Id: I81a55487734fe7b139391a6c95834c7313e54d7a
2025-01-09 07:01:21 +00:00
Menghan Li
3f67747684 Add controller for magnification feedback preference
The controller's logic determines the visibility of this preference
based on the availability of surveys, as reported by
SurveyFeatureProvider.isSurveyAvailable.

Bug: 380346799
Test: atest MagnificationFeedbackPreferenceControllerTest
Flag: com.android.server.accessibility.enable_low_vision_hats
Change-Id: I7fe7aa4418a6be38e9e7af7efc76a9a25266198b
2025-01-09 07:00:09 +00:00
Wenyu Zhang
6052ab619f a11y: Plumb autoclick cursor area size settings to PrefController
Screen recording: http://go/scrcast/NTk0ODczOTE4MDAzNjA5Nnw0ZGNhMzVmYS0wYg

Bug: b/383901288
Test: ToggleAutoclickCursorAreaSizeControllerTest
Change-Id: I745ef71d035d379e06a747f085ef9b0fef60d968
Flag: com.android.server.accessibility.enable_autoclick_indicator
2025-01-07 23:37:39 +00:00
Wenyu Zhang
32e2f97578 a11y: Initialize skeleton for autoclick indicator related settings
Screenshot: http://screen/5wWt8Tvr9K3fuoi.png

Change-Id: Iaf07e738d64e0e22caf7571a7529cccbf3079f87
Bug: b/383901288
Test: ToggleAutoclickCursorAreaSizeControllerTest
Flag: com.android.server.accessibility.enable_autoclick_indicator
2025-01-07 00:53:16 +00:00
Angela Wang
64624ae43f Merge "Update Flash Notifications screen with expressive design" into main 2024-12-28 17:35:28 -08:00
Angela Wang
b5ec99bf35 Merge "Update ShortcutPreference with expressive design" into main 2024-12-28 17:34:49 -08:00
Angela Wang
9736b59ac2 Update Flash Notifications screen with expressive design
Flag: EXEMPT flag by System prop
Bug: 349678118
Test: atest FlashNotificationsPreviewPreferenceControllerTest
Test: manually check the UI, screenshots attached on bug
Change-Id: I2db55cef161016940b19f14c70b9d2442d3859c3
2024-12-27 10:57:15 +00:00
chenjean
ac876b1173 feat(HCT): Notification 'open settings' action behavoir
The notification should open High Contrast Text page and disappear automatically when the user taps the "Open Settings" button within the notification.

Bug: 385794406
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Test: atest SettingsRoboTests:com.android.settings.accessibility.HighContrastTextMigrationReceiverTest
Change-Id: Ibe3c343d39e3c98a8b98fb4252d5f5a37d1aaa49
2024-12-27 16:05:08 +08:00
Angela Wang
0af1dbae4e Update ShortcutPreference with expressive design
To make hearing devices screen meets the expressive design, the shortcut
preference need to be updated.

Flag: EXEMPT flag by System prop
Bug: 349675952
Test: atest ShortcutPreferenceTest
Test: manually check the UI, screenshots attached on bug
Change-Id: I04a86c0592c5aa0e096b827a9ee65b12cf13ecf5
2024-12-27 07:08:58 +00:00
Menghan Li
242b3b8abd Merge changes I97841c5b,I64e47f92 into main
* changes:
  feat(EDT): Update the preference interaction and visiblity logic
  feat(EDT): Migrate entry into Display Settings
2024-12-23 22:00:42 -08:00
Menghan Li
dfb3c5b881 feat(EDT): Update the preference interaction and visiblity logic
The EDT toggle will be an subsetting in the DarkTheme settings page
- When the Dark Theme main toggle is on, we check the EDT setting to
decide applying normal DarkTheme or EDT now.
- The EDT preference is disabled when DarkTheme is off

Bug: 368721320
Flag: android.view.accessibility.force_invert_color
Test: atest ToggleForceInvertPreferenceControllerTest
Change-Id: I97841c5b2f03c8c0fb37e0be309d15f312bfedbd
2024-12-24 04:02:13 +00:00
Jason Hsu
a1046fc847 Merge "[HA Input] Add UI to support hearing device microphone change ability in device details page" into main 2024-12-23 19:50:24 -08:00
jasonwshsu
1258059feb [HA Input] Add UI to support hearing device microphone change ability in device details page
In this patch:
* Add custom dialog preference: HearingDeviceInputRoutingPreference and its controller
* Contain radio group to show 'hearing device microphone' and 'this phone's microphone' for user's preference
* set/get user's preference via BluetoothDevice#isMicrophonePreferredForCalls, BluetoothDevicwe#setMicrophonePreferredForCalls
* check if support HapProfile and if in AudioManager#getDevice(GET_DEVICES_INPUTS) list

Bug: 349255906
Test: atest HearingDeviceInputRoutingPreferenceTest BluetoothDetailsHearingDeviceInputRoutingControllerTest BluetoothDetailsHearingDeviceControllerTest
Flag: com.android.settingslib.flags.hearing_devices_input_routing_control
Change-Id: I2e4dbc7fb98353ed52d0d175df4e8725df6b9a05
2024-12-23 19:57:39 +08:00
Jacky Wang
6d9de7840f [Catalyst] Simplify RemoveAnimationsPreferenceTest
Bug: 373451690
Flag: TEST_ONLY
Test: atest
Change-Id: Idc64a811d97b5fd3047ad4167b98da5b97c0fee0
2024-12-23 10:23:46 +08:00
Menghan Li
9aa9199f08 feat(EDT): Migrate entry into Display Settings
The EDT toggle will be an subsetting in the DarkTheme settings page
- When the Dark Theme main toggle is on, we check the EDT setting to
decide applying normal DarkTheme or EDT now.
- The EDT preference is disabled when DarkTheme is off

Bug: 368721320
Flag: android.view.accessibility.force_invert_color
Test: atest ToggleForceInvertPreferenceControllerTest
            DarkModeSettingsFragmentTest
Change-Id: I64e47f92b14ee24a91f469cb55c7bb1285f05c62
2024-12-23 00:05:23 +00:00
Daniel Norman
5e390e57b5 Merge "Strings updates for the new version of High contrast text." into main 2024-12-18 20:24:22 -08:00
Daniel Norman
d6e53163fd Strings updates for the new version of High contrast text.
These strings may be replaced again after our UX Writing team provides
new strings for the final public release.

Bug: 384791485
Test: observe new strings; see http://b/384791485#comment2
Flag: EXEMPT strings changes
Change-Id: I5359bc3d6faca84238fe00801a5d68e5ef8ffc2f
2024-12-18 18:35:45 -08:00
Riley Jones
178bdd4c60 Cleanup of AccessibilityUtil#hasValueInSettings
Settings should now be able to directly use the equivalent ShortcutUtils functions,
so the unnecessary code is being removed from AccessibilityUtil.
This does cause much behavior to depend on A11yManager instead of Settings.Secure,
so several tests need their conditions updated.

Test: atest com.android.settings.accessibility
Flag: EXEMPT internal refactoring
Bug: 367414968

Change-Id: I95f81f7d78b074def0fe2d1e01f60ceb7e142dac
2024-12-17 20:03:16 +00:00
Riley Jones
66dde6fea1 Merge "Cleaning up deprecated QS tooltip code" into main 2024-12-16 15:51:52 -08:00
Treehugger Robot
dc30635bfb Merge "feat(HCT): Perform custom migration logic for existing HCT users" into main 2024-12-13 09:22:08 -08:00
Sunny Shao
9777bbe38f [Catalyst] Introduce a AccessibilitySeekBarPreference contains tool tip window
Test: atest PreviewSizeSeekBarControllerTest TextReadingPreviewControllerTest
Bug: 372776688
Flag: com.android.settings.flags.catalyst_text_reading_screen
Change-Id: Ie93d2f26b1521e931ce648f0140894b153259f81
2024-12-13 22:15:39 +08:00
chenjean
fe361a526e feat(HCT): Perform custom migration logic for existing HCT users
This logic is triggered by two scenarios:
(A) During first bootup after OTA update to Android 16, if the
    user had HCT enabled.
  - Trigger: ACTION_PRE_BOOT_COMPLETED.
  - Migration: HCT is disabled and notification is shown.
(B) Restore backup from Android 15 (or earlier), if the backup
    had HCT enabled and new device does not.
  - Trigger: SettingsProvider's restore process.
  - Migration: HCT is not restored and notification is shown.

We store whether the user has seen this notification in a new secure
setting ACCESSIBILITY_HCT_SHOW_PROMPT. This setting is also backed up.

Bug: 369906140
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Test: atest SettingsRoboTests:com.android.settings.accessibility.HighContrastTextMigrationReceiverTest
Test: flash an incremental update on a build with HCT enabled;
      observe HCT is disabled and a notification is sent.
Test: flash an incremental update on a build with HCT disabled;
      observe no change to HCT and no notification.

Change-Id: I4d294ffc0b2eabc59ee7988a579d678975a16380
2024-12-13 05:01:33 +00:00
Riley Jones
f337bf1fad Cleaning up deprecated QS tooltip code
Flag is rolled out, so tooltips other than font size shouldn't show anymore.
Much code can be removed.

Flag: EXEMPT code cleanup
Test: atest com.android.settings.accessibility
Bug: 367414968
Change-Id: I55084982fee0d0537aade49d36f52e121e24574b
2024-12-10 21:20:15 +00:00
Angela Wang
05783a589d Merge "Show battery info for mono audio location device" into main 2024-12-10 03:38:31 +00:00
Jacky Wang
dc1a52a2ee [Catalyst] Simplify KeyValueStore API calls
NO_IFTTT=Catalyst only

Bug: 325144964
Flag: com.android.settings.flags.catalyst
Test: atest
Change-Id: I518b9c861eac6d515dfc7f0ac2d028f9395e06a1
2024-12-08 19:22:18 +08:00
Riley Jones
6107fd8591 Cleanup deprecated functions in AccessibilityUtil
Flag: EXEMPT code cleanup
Bug: 367414968
Test: atest com.android.settings.accessibility
Change-Id: If69a964720fc91ce0ad3661f956c4818f4f2f9dd
2024-12-05 23:45:33 +00:00
Riley Jones
6d1c378972 Merge "Cleaning up quick settings flag in Settings app" into main 2024-12-03 22:03:04 +00:00
Riley Jones
acccaff128 Cleaning up quick settings flag in Settings app
Removes all instances of a11y_qs_enabled. Any code that would be nontrivial to remove has been deprecated for later cleanup.

Test: atest com.android.settings.accessibility
Flag: EXEMPT flag cleanup
Bug: 367414968

Change-Id: I81f3c9cee377535eaa552a170d58ec1a79d1da65
2024-12-02 20:38:10 +00:00
Treehugger Robot
1fd937f8ba Merge "[Catalyst] Vibration and haptics main switch migration" into main 2024-11-28 23:20:02 +00:00
Lais Andrade
08a7f6a5e7 [Catalyst] Vibration and haptics main switch migration
- Migrate "Use Vibration & haptics" main toggle in
  vibration settings screen.

- Add screen for VibrationScreen dashboard fragment

NO_IFTTT=introducing preference metadata files, no change in preference
controllers required.

Bug: 368360218
Flag: com.android.settings.flags.catalyst_vibration_intensity_screen
Test: VibrationIntensityScreenTest
      VibrationScreenTest
      VibrationMainSwitchPreferenceTest
Change-Id: I1dee7fdd59e093bd2dd12204554fe5198e7b76b4
2024-11-28 12:18:16 +00:00
Riley Jones
3b5b88f650 Merge "Makes all custom caption settings unsearchable when custom captions are not active." into main 2024-11-25 21:40:20 +00:00
Daniel Norman
b4dbc50d6a Merge "Cleanup flag "check_prebundled_is_preinstalled"" into main 2024-11-25 20:45:50 +00:00
Daniel Norman
9808ee15bd Merge "Cleanup flag "audio_balance_state_description"" into main 2024-11-25 20:45:16 +00:00
Riley Jones
6f8e823e0e Makes all custom caption settings unsearchable when custom captions are not active.
Unifies all custom caption controllers under a base controller, whose searchability is directly determined by CaptionHelper#getCustomCaptionAvailability().

Test: atest CaptionHelperTest
Bug: 353757664
Flag: com.android.settings.accessibility.fix_a11y_settings_search
Change-Id: If44e6eca4c72aa4413cd0a6e8735dbb22c7abe62
2024-11-25 18:59:01 +00:00
Jacky Wang
8e73d0f51e [Catalyst] Update RemoveAnimationsPreference
Bug: 373451690
Flag: com.android.settings.flags.catalyst_accessibility_color_and_motion
Test: atest & devtool
Change-Id: Id648febf32bebb391f1277e28f58ddb0d5130d59
2024-11-23 06:24:13 +08:00
Cam Bickel
330834b819 Cleanup flag "audio_balance_state_description"
Bug: b/319575109
Test: atest BalanceSeekBarTest
Flag: EXEMPT flag cleanup
Change-Id: I5057a7732f5986533ff8a6b0ebf60e8a55a1dc9f
2024-11-22 17:41:25 +00:00
Cam Bickel
de0e5cdff9 Cleanup flag "check_prebundled_is_preinstalled"
Bug: b/353888087
Test: atest AccessibilitySettingsTest
Flag: EXEMPT flag cleanup
Change-Id: Ia16cc83b1d499bac3845c7397ae1ac3e4c97ae91
2024-11-22 17:27:10 +00:00
Camden Bickel
fdd29cdce6 Merge "Cleanup flag "never_restrict_a11y_activity"" into main 2024-11-22 17:03:51 +00:00
Angela Wang
b5dbe8af2b Show battery info for mono audio location device
1. Show mono battery info in LeAudioBluetoothDetailsHeaderController
   without side text in front of the battery icon
2. Show mono side device on Settings > Accessibility > Hearing devices's
   summary without side information

Flag: EXEMPT bugfix
Bug: 379616650
Test: atest AccessibilityHearingAidPreferenceControllerTest
Test: manually check UI with real device
Change-Id: I4a1a3357e2cef51df505923e38da33767c78e8f3
2024-11-22 07:17:48 +00:00
Cam Bickel
4072d43123 Cleanup flag "never_restrict_a11y_activity"
Full flag name: "never_restrict_accessibility_activity"

Bug: b/331990900
Test: atest RestrictedPreferenceHelperTest
Flag: EXEMPT flag cleanup
Change-Id: I365ed105043cb4835075b8b9016b41862f82021c
2024-11-21 23:22:27 +00:00