Commit Graph

1723 Commits

Author SHA1 Message Date
Menghan Li
267251aae3 feat(A11yFeedback): Add FeedbackManager for Accessibility page
This change introduces a new FeedbackManager class to identify and
determine the availability of user feedback. This API will be used
to check if feedback is available for a user to provide.

Bug: 393980229
Test: atest FeedbackManagerTest
Flag: com.android.server.accessibility.enable_low_vision_generic_feedback
Change-Id: I577aa626c18f5c449dc3970d1324cc4940d20639
2025-02-13 09:08:07 +00:00
Yuhan Yang
c3f467dd71 Add summary for autoclick cursor size row
Screencast: go/screencast-njm3ndi4njm4ntixnzuznnw3nmy5m2fkms00ng

Bug: 390460480
Test: ToggleAutoclickCustomSeekbarControllerTest
Flag: com.android.server.accessibility.enable_autoclick_indicator
Change-Id: I951be8da3e10f2a3ba0c6ff6e88a8a059db0f1ed
2025-02-07 21:06:12 +00:00
Yuhan Yang
7630d396a6 Add Autoclick cursor area size settings dialog
Replace Autoclick sliderbar with an alert dialog
and radio group to match the new UI requirement.

Screenshot:
 - Click area column:
   go/screenshot-5AfdF7FGghsdiXk
 - Alert dialog:
   go/screenshot-4dgtojcc6lvjtyy

Bug: 390460480
Test: ToggleAutoclickCustomSeekbarControllerTest
Flag: com.android.server.accessibility.enable_autoclick_indicator
Change-Id: Ic79f8833e69dde8d8eb3e945e5acd551d2ee9ff5
2025-02-07 19:58:53 +00:00
Treehugger Robot
b5299b17d9 Merge "fix(high contrast text): Uses a new string resource for the settings action." into main 2025-02-04 16:24:08 -08:00
Daniel Norman
f6b3ccd074 fix(high contrast text): Uses a new string resource for the settings action.
The old string has all non-English translations without format
placeholders, which will fail to build the string on those
languages until translations are added.

Bug: 384791485
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Change-Id: I4565610908d463c05576d5c5d0b083f76802cc9e
2025-02-04 15:26:24 -08:00
Riley Jones
a1e47ef860 Merge "Update strings again for refreshed High Contrast Text" into main 2025-02-04 15:17:23 -08:00
Jean Chen
c1163a15d6 Merge "Increment TeX counters for the HCT migration about notification dismissed." into main 2025-02-03 22:44:09 -08:00
chenjean
2028e7b4b4 Increment TeX counters for the HCT migration about notification dismissed.
Bug: 391672253
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Test: Ensure dismissing a notification from open settings does not trigger multiple counter increments
Change-Id: I6ddccd40427cf2364d3fb5df4efaa0b16db26133
2025-02-04 07:55:54 +08:00
Riley Jones
36d59c85b7 Merge "Adjust A11y Shortcut settings to use lowercase shortcut names." into main 2025-02-03 14:51:18 -08:00
Daniel Norman
6d0a04a171 Update strings again for refreshed High Contrast Text
Deletes the old string resource and uses a new resource because the old
translated strings do not have formatting placeholders. Eventually the
old translated strings will be automatically deleted and the new string
with placeholder will be translated.

Also uses placeholders for referencing other strings so that
we guarantee that the strings are consistent across this notification
and the actual preference in Settings.

Bug: 384791485
Test: see bug screenshots
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Change-Id: I89a9ee4b3755b20f4e090df5b4cccb7ce47a961c
2025-02-03 20:00:09 +00:00
Daniel Norman
07af74a52e Adjust A11y Shortcut settings to use lowercase shortcut names.
Per go/android-naming these strings should be lowercase when
used in the middle of a sentence because they are generic
descriptive names and not branded names.

Bug: none
Change-Id: I0508a5cbdba20a1bd2d6db66e0e7183845e503ad
Test: build & install & check string
Flag: EXEMPT low risk bugfix
2025-01-31 16:10:44 -08:00
Fiona Campbell
fc94995307 Make Extra Dim Setting as percentage of device
- Extra dim setting now operates in percentage of the device's
  capabilities
- ie "100" now means the maximum possible dimming on the current device,
  if restored to another device, this means the max possible dimming on
  that device as well.

Bug: 337351445
Flag: EXEMPT bugfix
Test: atest DisplayServiceTests
Test: atest ReduceBrightColorsIntensityPreferenceControllerTest
Change-Id: I98d0d7af562fdfb2b921746e0e5654bad47b440b
2025-01-30 15:47:27 +00:00
Riley Jones
6e12194015 Merge "Disabling elements on the A11y Shortcut setting subpage" into main 2025-01-28 13:24:42 -08:00
Treehugger Robot
61e7f37b22 Merge "Unrestrict granted ECM setting for A11Y" into main 2025-01-24 18:12:10 -08:00
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
Daniel Norman
7e6cc163d9 Merge "Includes new HCT-Migration-Notification entrypoint in a11y stats logs." into main 2025-01-23 10:08:58 -08:00
Nate Myren
bfedd95083 Unrestrict granted ECM setting for A11Y
Other RestrictedPreference users' behavior is kept the same, for now.

Bug: 390196024
Test: manual
Flag: EXEMPT: minor bugfix
Change-Id: I4efe26d254b44defc15778271d9ff6d7270ec443
2025-01-22 17:05:41 -08:00
Daniel Norman
f362378c03 Merge "Increment TeX counters for the HCT migration notification." into main 2025-01-22 15:55:12 -08:00
Daniel Norman
c734de5e80 Includes new HCT-Migration-Notification entrypoint in a11y stats logs.
Bug: 391672253
Test: none
Flag: EXEMPT (code which uses this entrypoint is flagged with
     com.android.graphics.hwui.flags.high_contrast_text_small_text_rect)
Change-Id: Id99481caa731c5cbff241c054e2c7c9331112cba
2025-01-22 14:13:50 -08:00
Daniel Norman
5b2a769765 Increment TeX counters for the HCT migration notification.
See the corresponding TeX change for more details.

Bug: 369906140
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Test: run statsd_testdrive 644 and verify the output when the
      notification appears
Test: ensure that rotating / restarting the activity does not trigger
      multiple increments to the counter
Change-Id: Iea01962611e3e327cfbde6f3451f7f1ec54b955e
2025-01-22 19:17:31 +00:00
Riley Jones
9707e4039f Merge "Cleanup of deprecated A11y settings functions" into main 2025-01-22 10:41:05 -08:00
Treehugger Robot
3d626d8e8b Merge "Partial flag clean up: Remove large mouse pointer in A11y Setting screen" into main 2025-01-22 10:13:34 -08:00
Sunny Shao
d38e43b82f [Catalyst] Initial migration for "Display size and text" screen
Test: Manual
Bug: 372776688
Flag: com.android.settings.flags.catalyst_text_reading_screen
Change-Id: Iadbf36cee58083b8182ed5b275912a9e3a15b119
2025-01-22 02:58:29 +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
Yongshun Liu
c0e9a84e85 Merge "a11y: Make images optional for single choice list view dialog" into main 2025-01-16 15:07:19 -08:00
Wenyu Zhang
c29bde48a7 Merge "a11y: Hook ignore minor cursor movement setting to its controller" into main 2025-01-16 14:45:21 -08:00
Yongshun Liu
09b11ff3d3 a11y: Make images optional for single choice list view dialog
This makes `ItemInfoArrayAdapter.ItemInfo` support text-only choices. It
is to better accommodate the new dialogs.

Bug: b/389991440
Flag: com.android.settings.accessibility.enable_magnification_cursor_following_dialog
Test: None
Change-Id: If7514631a72631cf0fce85623fe30c8261f678c9
2025-01-16 21:27:02 +00: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
Chun-Ku Lin
38ed880811 Partial flag clean up: Remove large mouse pointer in A11y Setting screen
Customization on mouse pointer has been moved to other screen, which is
released in 24Q4. Cleaning up the reference in a11y settings earlier for
cleaner ColorAndMotionScreen catalyst migration.

Bug: 346358375
Flag: EXEMPT partial clan up on android.view.flags.enable_vector_cursor_a11y_settings
Test: build succeed
Change-Id: Ie5c22f6cd1a55102240a86e13f17591e29ddbbf8
2025-01-15 23:29:51 +00:00
chenjean
ea305dc01e fix(HCT):Ensure HCT Notification ID does not conflict in the Settings app
The current HCT notification uses NOTIFICATION_ID=1. The Settings app has a few other notifications also use NOTIFICATION_ID=1 like Bluetooth and Sim etc. When using the same NOTIFICATION_ID for a notification, it updates the existing notification, causing the original one to disappear. To avoid this, we use a unique NOTIFICATION_ID.

Bug: 388530317
Flag: EXEMPT resource only update
Test: manual
Test: atest HighContrastTextMigrationReceiverTest
Change-Id: Ieda6836190726b14cd3522f61e7992e5a5698231
2025-01-15 18:15:38 +08: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
Chris Antol
caa87b9c34 Merge "Fix sensitivity to writability declarations" into main 2025-01-10 11:00:17 -08:00
Wenyu Zhang
aea94181aa Merge "a11y: Initialize slider position with cursor area size setting" into main 2025-01-09 17:58:57 -08:00
Chris Antol
2000e9f96c Fix sensitivity to writability declarations
Bug: 388877875
Test: N/A - CTS test to follow
Flag: com.android.settingslib.flags.settings_catalyst
Change-Id: I32d92b427bafe474f0e082923603781ad561cdd8
NO_IFTTT=sensitivity level not a field in legacy Preference Controller
2025-01-09 17:19:55 -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
6e89c83c9d a11y: Fix Android Lint
Add NonNull annotation. Fix Android Lint in http://ag/31174874.

Bug: b/383901288
Change-Id: Ibe296525ebdc298b3b23b8df51bd58218e20b777
Test: ToggleAutoclickCursorAreaSizeControllerTest
Flag: com.android.server.accessibility.enable_autoclick_indicator
2025-01-07 07:27:46 -08: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
Treehugger Robot
7938eeb0d4 Merge "[Catalyst] Implement get{Read,Write}Permissions for Vibration & haptics" into main 2024-12-30 17:50:27 -08: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
Treehugger Robot
e095ce3124 Merge "[Catalyst] Provide screen key to @ProvidePreferenceScreen" into main 2024-12-27 05:33:47 -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
Jacky Wang
cfcf20c70a [Catalyst] Provide screen key to @ProvidePreferenceScreen
NO_IFTTT=Catalyst only

Bug: 386179791
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: Ie8106ec45a32e4a61826512fc62746c9ffc47d9c
2024-12-27 17:14:27 +08:00