Commit Graph

1523 Commits

Author SHA1 Message Date
Treehugger Robot
d20abfa4c8 Merge "Reduce the number of calls to updateAllPreferences" into main 2024-05-29 04:45:59 +00:00
Chun-Ku Lin
774bbc1ff2 Reduce the number of calls to updateAllPreferences
We call updateAllPreferences in onCreate and onResume. If we always call
the method in onResume, the call in onCreate seemed redundant.

Bug: 327052480
Flag: EXEMPT low risk bugfix
Test: manual (able to see the accessibility screen as before)
Test: atest com.android.settings.accessibility
Change-Id: I40b44ed6b667f7b1375ec0e339fc2b28a3f70dc5
2024-05-29 03:15:15 +00:00
Jason Hsu
e6c6b24f1e Merge "Add Quick Settings shortcut option into Hearing Devices accessibility settings page" into main 2024-05-29 02:55:37 +00:00
jasonwshsu
2a3815776c Add Quick Settings shortcut option into Hearing Devices accessibility settings page
* In Android V, we can add qs as one of the accessibility shortcut option to be more discoverable.

Bug: 338327560
Flag: EXEMPT bugfix
Test: check shortcut option in hearing devices settings page
Change-Id: I60d4da2432605a5369eb87c1e594539d40c53ae8
2024-05-27 03:12:28 +08:00
Chun-Ku Lin
3c822399ae Merge "Pass user preferred shortcut types when launching the AccessibilityShortcutsTutorial." into main 2024-05-22 23:17:50 +00:00
Roy Chou
bc0758fa54 Merge "chore(magnification): cleanup flag usage of hide_magnification_always_on_toggle_when_window_mode_only" into main 2024-05-22 00:56:13 +00:00
Chun-Ku Lin
09efbe453c Pass user preferred shortcut types when launching the
AccessibilityShortcutsTutorial.

**Root cause**
When toggle the shortcut, it asks the AccessibilityManager to turn on
the shortcut and update the Settings data. Internally, the
AccessibilityManager delegate the work to AccessibilityManagerService
via a oneway binder call.

In the past, when launching the AccessibilityShortcutsTutorial, we
assume the shortcut selection are saved in the Settings before launching
the AccessibilityShortcutsTutorial. So we pass whatever are in the
Settings as what the user has selected to the tutorial.
This is not true anymore since we use the oneway AIDL call to do the
updates. The data in Settings may not yet be  updated before we use it to
launch the tutorial.

Since the user preferred shortcuts are always set before we attempt to
launch the AccessibilityShortcutsTutorial, we can rely on it instead of
the Settings value to launch the AccessibilityShortcutsTutorial for the
selected shortcut options.

**Changes in this cl**
- Mechanical refactor to extract the lines to get the user preferred
  shortcut into a method.

- Use the new method to grab the shortcut options to pass to the
  AccessibilityShortcutsTutorial to prevent the crash.

Bug: 341176890
Test: manual
    - Modify the AccessibilityManagerService locally to delay processing
      the request to update the shortcut options in Settings data
    - Turn on the shortcut toggle, and verify the app won't crash

Test: atest com.android.settings.accessibility
Flag: EXEMPT bugfix (low risk + mechanical refactor)
Change-Id: Id3cc4cc5f6667061545955881632544472aedd95
2024-05-21 23:33:55 +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
Treehugger Robot
1f4ee3de23 Merge "Merge "Update haptic settings owners" into main am: 1c3e44a2da am: e2d8c52b71" into main 2024-05-21 12:13:53 +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
Roy Chou
9780020f6b chore(magnification suw): create MagnificationFeaturePreferenceController
Add a new abstract class MagnificationFeaturePreferenceController
that extends TogglePreferenceController, to wrap inSetupWizard
setter/getter. Then for magnification feature preference controllers
like alwaysOn or followTyping, they can just check isInSetupWizard to
decide whether hiding in setup wizard.

Besides, in ToggleScreenMagnificationPreferenceFragment we cache a flag
mInSetupWizard when fragment created, so we can pass the info to the
preferece controllers when creating them.

Bug: 340721852
Flag: NONE
Test: build pass
Change-Id: I05c59a766219862117d2a6ede775d68a4c3dedac
2024-05-21 03:36:06 +00:00
Lais Andrade
73e7243a4c Merge "Update haptic settings owners" into main am: 1c3e44a2da am: e2d8c52b71
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3093005

Change-Id: Icc17a5ea395823823dc92520ee9b41660f74c135
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-20 18:19:49 +00:00
Lais Andrade
6eeddc8c29 Update haptic settings owners
Bug: 338334977
Change-Id: I789268bda12a5cc6ff49b0adfaf41a42e52d64d6
Test: N/A
2024-05-20 16:54:06 +00:00
Isaac Chai
504ac0cf2a Merge "Color correction saturation level settings" into main 2024-05-16 17:27:26 +00:00
Pawan Wagh
c1c2853ca7 Merge "Turn off voice access in 16KB mode" into main 2024-05-15 20:59:35 +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
Pawan Wagh
6de4093876 Turn off voice access in 16KB mode
VoiceAccess doesn't support the 16KB mode yet. Skipping
voice accesss service when in page-agnostic mode.

Test: m Settings && adb install -r $ANDROID_PRODUCT_OUT/system_ext/priv-app/Settings/Settings.apk
Bug: 335443194
Bug: 340231742
Change-Id: If4deae48aaa221c843af5eb65208659ad38a08b2
2024-05-14 19:50:36 +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
Ahmad Khalil
93fe16fc25 Merge "Make haptics team owners on vibration files in Settings" into main 2024-05-07 19:44:46 +00:00
Chun-Ku Lin
fdc7d4afa9 Merge "Add null pointer check to prevent crash" into main 2024-05-07 19:09:38 +00:00
Ahmad Khalil
37edeb1219 Make haptics team owners on vibration files in Settings
Updating owners file in settings/accessibility to make the haptics team owners on the vibration files in Settings.

No flag for changing owners, no UI changes.

Fix: 339187294
Test: N/A
Change-Id: I962040b509f40393101eadc76ca46afc2b0696ef
2024-05-07 16:34:06 +00:00
Ahmad Khalil
b905c0a0a7 Merge "Fix feedback for main haptic settings toggle" into main 2024-05-07 13:06:47 +00:00
Chun-Ku Lin
4959e0fba0 Add null pointer check to prevent crash
Bug: 338082036
Test: atest EditShortcutsPreferenceFragmentTest
Flag: EXEMPT bugfix low risk
Change-Id: I70f00eb2912e4ddd6efbd298ae6b6885f28160de
2024-05-07 02:10:25 +00:00
Lais Andrade
699bbe760d Fix feedback for main haptic settings toggle
The SettingsMainSwitchPreferenceController might trigger a state change
twice on the page main switch when the user toggles the setting value.

Make sure we only trigger haptic feedback when the state is changing
between untoggled to toggled to avoid a double-click feedback.

No flag for small bug fix, no UI changes.

Fix: 338334977
Test: enable the "Use vibration & haptics" settings and feel a single
      click feedback
Change-Id: I0c22b99bcb40f35ebe09c153133c354306ed1ff0
2024-05-03 14:56:30 +01:00
Roy Chou
7288884b6e Merge "fix(magnification suw): followTyping preference should be hidden in magnification suw page" into main 2024-05-02 05:44:58 +00:00
Treehugger Robot
44914893da Merge "Tightens Accessibility Settings owners." into main am: 1c7a9269a1 am: 90d0111cfd
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3052422

Change-Id: I49233063956e05ad9738d15c72833fecca5c8349
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-23 20:06:15 +00:00
Daniel Norman
5c32deeb16 Tightens Accessibility Settings owners.
Per discussion with leads, we'd like to ensure that Settings > Accessibility changes are seen
and approved by the Android Accessibility team. This change prevents default Settings owners
from accidentally approving changes without looping in a11y, while ensuring Settings lead cipson
has approval for emergency changes.

Change-Id: I914067a4d2616c212309b70fb29679f9acfa7643
2024-04-22 16:54:42 +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
e4fb6b93a4 fix(magnification suw): followTyping preference should be hidden in magnification suw page
In ag/26349366 we wrapped the follow typing prefernce creation into new
method, but in the new method we didn't assign the created preference to
mFollowingTypingSwitchPreference. So
ToggleScreenMagnificationPreferenceFragmentForSetupWizard can not access
the preference object to hide it. Therefore, as a short-term solution we
assign the created preference to mFollowingTypingSwitchPreference. For a
long-term plan we should not create a preference and hide it in suw,
instead we don't need to create that preference. (tracked in b/335788167)

Bug: 335788769
Flag: NONE
Test: manually
Change-Id: Ideef93127343b7d1105a63006d343cd5ef66de08
2024-04-19 09:04:58 +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
Jason Chiu
8d3d975795 Merge "Remove the package name restriction of ACTION_UNINSTALL_PACKAGE" into main 2024-04-18 01:49:09 +00:00
Jason Chiu
5d82f6a648 Remove the package name restriction of ACTION_UNINSTALL_PACKAGE
PackageInstaller has protected the intent action by setting
"android:priority=1".

Test: manual
Fix: 332228634
Change-Id: If0794e5957366d8b26acd0362b59c6c9076a0c4f
2024-04-17 16:26:52 +08: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
e24b145d48 Merge "[Flag cleanup] remove separate_accessibility_vibration_settings_fragments" into main 2024-04-12 18:10:11 +00:00
Roy Chou
0dcd61e926 Merge "fix(accessibility suw): fix unexpected large padding in accessibility suw when force-two-pane mode" into main 2024-04-11 01:36:00 +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
Roy Chou
f85bca368c fix(accessibility suw): fix unexpected large padding in accessibility suw when force-two-pane mode
Like the screenshots in b/323771329#comment26, the headerLayout padding is too large when
force-two-pane mode. Therefore, as a short-term fix, we make the AccessibilitySetupWizardUtils
not to adjust the headerLayout padding when shouldForceTwoPane, which
described in b/323771329#comment30. The long-term goal is to remove the
padding adjustment in AccessibilitySetupWizardUtils after the the
padding is handled in SUW library internally.

Bug: 323771329
Flag: NONE
Test: manually
Change-Id: Ie4585d9ee352ca74733d4bc14e957bf901347fdc
2024-04-10 09:16:35 +00:00
Chun-Ku Lin
44435e4fd1 [Flag cleanup] remove accessibility_customize_text_reading_preview
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: 307481249
Flag: EXEMPT flag cleanup
Test: Run the Settings app and can still see the text reading preview
Change-Id: I59e03da1719041fb2d17da1d1eed555f31c3d81d
2024-04-10 02:50:18 +00:00
Marcus Ge
c3f57aa3ba Merge "[Accessibility] Restore high contrast text" into main 2024-04-02 22:57:40 +00:00
marcusge
8d90ba38b7 [Accessibility] Restore high contrast text
Test: local raven device
Bug: 241805782

Change-Id: Ie7d807ebc46452beb69ad41ebb3e570c2ff0a186
2024-04-02 01:07:39 +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
Chun-Ku Lin
f18d1f60fb Merge "Remove unneeded background and update the background color to reflect light/night theme" into main 2024-04-01 17:53:00 +00:00