Commit Graph

594 Commits

Author SHA1 Message Date
Angela Wang
3c71a5ff22 Merge changes from topic "ha-new-pairing" into main
* changes:
  New hearing device pairing page (2/2): MFi devices
  New hearing device pairing page (1/2)
2024-01-16 09:41:37 +00:00
Angela Wang
5cb00f6602 New hearing device pairing page (2/2): MFi devices
Some of the hearing aids support both ASHA + MFi, however, they only
advertise MFi service uuid in advertisement packets.

We can filter the devices with MFi uuid while scanning and then connect
gatt to discover the remote services before pairing to make sure if the
devices are compatible with Android or not. Only devices that support
ASHA/HAP will be shown.

Bug: 307890347
Test: atest HearingDevicePairingFragmentTest
Change-Id: Ie1f4eedddd4c43fad0fcbcd35f436dea5ab06925
2024-01-16 03:55:54 +00:00
Angela Wang
3e9f1ff659 New hearing device pairing page (1/2)
Rewrite a new hearing device pairing page with update UI for "See more
devices".

Bug: 307473972
Test: atest HearingDevicePairingFragmentTest
Test: flip the flag com.android.settings.flags.new_hearing_device_pairing_page && atest HearingAidPairingDialogFragmentTest AddDevicePreferenceControllerTest
Change-Id: Ic60601905e3d0d7d7c5b1ef9733652118a211f1d
2024-01-16 03:49:34 +00:00
Wilson Wu
55a7023af5 Add metrics for keyboard vibration settings
Log the state when keyboard vibration settings changed.

Bug: 289107579
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I96999fe49a86514561c85c5b589a7b90e3c3cb67
2024-01-11 03:36:03 +00:00
Daniel Norman
889de5bd4a Merge "Adapt clickShortcutSettingsPreference* test to shortcut edit activity." into main 2024-01-11 02:10:06 +00:00
Daniel Norman
6fd5a4c84d Adapt clickShortcutSettingsPreference* test to shortcut edit activity.
This failure appeared when rolling out flag
cleanup_accessibility_warning_dialog. This test used to always launch
the editor dialog, but that logic has changed with the rollout of
another feature to replace the dialog with an activity launch.

Bug: 319497827
Test: ToggleAccessibilityServicePreferenceFragmentTest
Change-Id: Ie4e3ae5eff8ed16cded622ce71bbd3a6a55cdedb
2024-01-10 23:50:06 +00:00
Sunny Shao
bee65b4109 Merge "Revert^2 "Nullability Annotations replacement"" into main 2024-01-10 08:35:06 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Sunny Shao
946f52b2a1 Merge "Revert "Nullability Annotations replacement"" into main 2023-12-29 03:18:24 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
Yanting Yang
cf3f89d4fb Merge "Support search index for Accessibility button & gesture" into main 2023-12-22 09:34:11 +00:00
Yanting Yang
6c0f9e68d1 Support search index for Accessibility button & gesture
Bug: 223514494
Test: manual & atest AccessibilityButtonPreferenceControllerTest
Change-Id: I2433e5aaccd8eb92325141246d9b409bb2b97e08
2023-12-22 04:07:36 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
Chun-Ku Lin
9d6bf1b784 Apply Setup styles to the a11y edit shortcut full screen.
Bug: 300302098

Test: atest AccessibilitySetupWizardUtilsTest
Test: atest EditShortcutsPreferenceFragmentTest (Unable to make
Robolectric inflate the view of the edit shortcut fragment with the Setup wizard
theme)
Test: manual (Launch the setup wizard and check the screen)

Change-Id: I2995e914d622e9865101ef16e3b280c65371a252
2023-12-14 20:50:45 +00:00
Chun-Ku Lin
64e946c7fa Convert a11y shortcut edit screen to a full screen.
Bug: 300302098

Flag: adb shell device_config put accessibility com.android.settings.accessibility.edit_shortcuts_in_full_screen true

Test: manual
Test: atest com.android.settings.accessibility.shortcuts

Change-Id: I0b5e367fed962ff01036122ce7ff32a8ae47fbc3
2023-12-14 20:50:33 +00:00
Daniel Norman
0fa75c4e41 Merge "Adds a summary to the (screen) Magnification preference for the main A11y Settings page." into main 2023-12-06 20:22:28 +00:00
Daniel Norman
2edaf7668c Merge changes from topic "b-303511250-cleanup" into main
* changes:
  Use A11yManagerService to check if the A11yService warning is required.
  Minor refactoring to replace duplicated logic with existing methods.
2023-12-06 19:55:21 +00:00
Daniel Norman
01e624c76b Adds a summary to the (screen) Magnification preference for the main A11y Settings page.
This helps differentiate this from other magnification tools.

Reuses (and slightly modifies) the `magnification_feature_summary`
string which was not used by any existing code. This helps ensure
the existing localizations should be close enough, until L10n
translators have time to update based on the new shorter version.

Bug: 303499185
Test: ToggleScreenMagnificationPreferenceFragmentTest
Test: Open Settings > Accessibility, observe summary
Change-Id: If5ee4f937bbd655b425d4767ad8bbcef08dbe345
2023-12-06 01:10:52 +00:00
Tyler Freeman
3fddb64a0d Merge "feat(force invert): add force invert Settings preference in A11y > Color and Motion" into main 2023-12-05 20:36:36 +00:00
Tyler Freeman
e0f10d3fe2 feat(force invert): add force invert Settings preference in A11y > Color and Motion
Bug: 312289375
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionFragmentTest.java
  && atest packages/apps/Settings/tests/robotests/src/com/android/settings/accessibility/ToggleForceInvertPreferenceControllerTest.java
Flag: android.view.accessibility.Flags.forceInvertColor

Change-Id: I2739a1dfecbbddcd240a3113344987ade2b7c717
2023-12-04 14:12:43 -08:00
Daniel Norman
126de9691a Use A11yManagerService to check if the A11yService warning is required.
Bug: 303511250
Test: m RunSettingsRoboTests ROBOTEST_FILTER=ToggleAccessibilityServicePreferenceFragmentTest
Change-Id: Ibef748bd82ba166e377be0611df113ac09d052bc
2023-11-28 01:54:21 +00:00
Roy Chou
5d9571bcee Merge "fix(text preference): fix preview block ui broken in SUW" into main 2023-11-20 03:11:29 +00:00
Roy Chou
004238d7f8 fix(text preference): fix preview block ui broken in SUW
As previous cl ag/25185014 we increased the preview block horizontal padding when landscape mode. However, in setup wizard it uses GlifPreferenceLayout so the settings page only has half screen width when landscape mode, so the preview block ui is squished due to limited width. Also, setup wizard package has overlay the paddings to larger than our prevoius adjust. Therefore, we rollback the changes in accessibility_text_reading_preview.xml to get the default padding, then add checker to increase the paddings if needed at runtime.

Bug: 309590083
Test: manually
Test: atest TextReadingPreviewPreferenceTest
Test: atest TextReadingPreferenceFragmentForSetupWizardTest
Change-Id: Ib907f4182eed272b84a4ab6208ea2d8a89ba96c4
2023-11-20 03:10:33 +00:00
Chun-Ku Lin
0f2cc34230 Don't show quick settings tooltip if the user is in the Setup Wizard,
since the user can't access the Quick Settings Panel.

Bug: 294560581
Test: manual
- Turn on feature flag: adb shell device_config put accessibility com.android.settings.accessibility.remove_qs_tooltip_in_suw true
- Modify the font scale in SUW, verify the QS tooltip doesn't show up
- Modify the font scale after SUW, verify the QS tooltip shows up
Test: atest SettingsRoboTests:com.android.settings.accessibility

Change-Id: I1d1a4f8f70ea3e1d929952d5c273de1b4cd80503
2023-11-14 23:30:49 +00:00
Angela Wang
c01677b676 Merge "Removes hearing aids settings page flag" into main 2023-11-14 06:47:36 +00:00
Angela Wang
01f17822c3 Removes hearing aids settings page flag
The hearing aids settings page has successfully rolled out. Cleans up the codes that are related to flag controls.

Bug: 310203155
Test: atest AccessibilityHearingAidPreferenceControllerTest
Test: atest AccessibilityDetailsSettingsFragmentTest
Test: atest BluetoothDetailsHearingDeviceControlsControllerTest
Change-Id: Ib03952f734302cca8519cb1c70ba82601cb75527
2023-11-10 17:06:32 +00:00
Chaohui Wang
08a1c9876e Revert^2 "Migrate to CompoundButton.OnCheckedChangeListener"
8979681a8d

Change-Id: I60edd3aabf49afbe4aa016af780baa68d928bddf
2023-11-07 14:17:15 +00:00
Sebastian Pickl
8979681a8d Revert "Migrate to CompoundButton.OnCheckedChangeListener"
Revert submission 25147565-onSwitchChanged-CompoundButton

Reason for revert: breaking builds 

Bug:309601476

Reverted changes: /q/submissionid:25147565-onSwitchChanged-CompoundButton

Change-Id: Ie746db87d9c642599593aa3d5e5baf6b7ba89c0e
2023-11-07 13:26:36 +00:00
Chaohui Wang
71d1f021af Migrate to CompoundButton.OnCheckedChangeListener
Switch and SwitchCompat are both CompoundButton.

Using CompoundButton in Java will helps migration in the future.

Bug: 306658427
Test: manual - check Settings pages
Change-Id: If2e08a9a9557ec66a3b31ef18cd2e15943098a59
2023-11-07 20:22:27 +08:00
Jean Chen
6a50a06f76 Revert^2 "feat(MultiFingerMultiTap): Add tutorial for two finger triple tap"
This reverts commit dc9ad88a26.

Reason for revert: The issue be fixed on b/308228560. Our change wasn't the actual culprit. 

Change-Id: Ie023b10d70db680799f30c8bc9346cc65716b550
2023-10-31 08:43:39 +00:00
Daniel Norman
dc9ad88a26 Revert "feat(MultiFingerMultiTap): Add tutorial for two finger triple tap"
This reverts commit 2870455091.

Reason for revert: b/308368520

Change-Id: I512fa574e47585f0005ccc6c3790c0c20a3a4c55
2023-10-30 16:29:19 +00:00
Jean Chen
2870455091 feat(MultiFingerMultiTap): Add tutorial for two finger triple tap
This tutorial is showing when user enabled two finger triple tap shortcut

Bug: 297805269
Test: manual
Test: atest AccessibilityGesturenavigationTutorialTest
Change-Id: Ie56cffe809e801c497d9d55d92a4b55084d496ce
2023-10-27 16:58:48 +08:00
Jean Chen
198ae8901b Merge "feat(MultiFingerMultiTap): Add two-finger triple-tap shortcut on magnification dialog" into main 2023-10-27 03:43:51 +00:00
David Magno
eb2276c01c Customize the text reading preview layouts
Make it possible to customize the available text reading preview
layouts through overlays.

Bug: 307481249
Test: make RunSettingsRoboTests ROBOTEST_FILTER=
"com.android.settings.accessibility.TextReadingPreviewPreferenceTest"
(cherry picked from https://android-review.googlesource.com/q/commit:2a7da9c433f57db9b7b9ad5c54bddb5da81e5693)
Change-Id: I3e55eeb7545a4d5d1f689ab4160e453996b58bdb
2023-10-25 18:37:51 +00:00
Jean Chen
48d73aa3f3 feat(MultiFingerMultiTap): Add two-finger triple-tap shortcut on magnification dialog
The shortcut is separate from single-finger triple-tap. It’s under hardware shortcut and above/outside of Advanced section.

Bug: 297805269
Test: manual
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: Id74cf3e457c04e167f3100d977b6c70c5d601026
2023-10-25 13:30:27 +00:00
Daniel Norman
529090ba5d Merge "Adds 'App info' button on accessibility service + activity pages." into main 2023-10-24 21:23:50 +00:00
Chaohui Wang
cfdb3b1f1b Migrate new() to SwitchPreferenceCompat
Bug: 306658427
Test: manual - on Settings pages
Change-Id: I258a8c63d5c46403c6d333a9d2f34c33cb35e27f
2023-10-24 14:05:34 +08:00
Daniel Norman
8946e64f28 Adds 'App info' button on accessibility service + activity pages.
This launches the existing app info page for the a11y feature's owning
package. Features without a valid component (framework features) do not
have this button. This is also not shown in Setup Wizard which does
not support the App Info page.

This helps users find more info about the app that provided an
accessibility feature.

Screenshot: https://screenshot.googleplex.com/B9FXLoomxFjLBv8.png
Flag: accessibility com.android.settings.flags.accessibility_show_app_info_button

Bug: 277378550
Test: atest ToggleFeaturePreferenceFragmentTest (robotest)
Test: Open and interact with the button, ensure it opens the app info
      page for the correct app.
Change-Id: I2041c09077ce5fadc72117dc0c72409dd33ef60b
2023-10-20 21:31:11 +00:00
Wilson Wu
9a43aff41d Merge "Add keyboard vibration settings" into main 2023-10-18 07:18:30 +00:00
Wilson Wu
e9eb8e65ce Add keyboard vibration settings
Introduce keyboard vibration preference settings
to control keyboard vibration state.

Bug: 289107579
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I9cc5d53f1b22c460ad2acc7e4a412fefbca586df
2023-10-18 02:50:56 +00:00
Chun-Ku Lin
d474448501 Merge "Fix AccessibilitySettingsTest" into main 2023-10-16 19:40:03 +00:00
Chun-Ku Lin
b87b655f24 Merge "Fix AccessibilityDetailsSettingsFragmentTest" into main 2023-10-16 18:29:13 +00:00
Chun-Ku Lin
7a79871cd2 Fix AccessibilityDetailsSettingsFragmentTest
**Root cause**
With the latest Robolectric migration, it now requires move the
FragmentController to visible so that when we call
fragment#getActivity() it won't return null.

Fix: 300158481
Test: atest AccessibilityDetailsSettingsFragmentTest
Change-Id: Ic1e7a1b0a5dd3248950e7362f081ed53f0562bf1
2023-10-14 01:06:19 +00:00
Chun-Ku Lin
9a0c7ba7da Fix AccessibilitySettingsTest
**Root cause**
- We can no longer mock the fragment.getActivity method because it's a
  final method.
- We need to use custom shadows to implement the method we use but not
  shadowed in Robolectric. (e.g. ColorDisplayManager's
  isReduceBrightColorsActivated method)

Bug: 300157873
Test: atest AccessibilitySettingsTest
Change-Id: Ia7d039dd2e31e6b4a7b9382827f9006d4133ca1d
2023-10-13 21:55:22 +00:00
Chun-Ku Lin
ccdb949cc9 Fix ToggleScreenMagnificationPreferenceFragmentTest
**Root cause**
ShadowFragment makes the test using an empty implementation of onCreate,
hence the test execution throws SuperNotCalledException.

ShadowFragment was accidentally added to this test when migrate to the
latest Robolectric. Removing ShadowFragment in the config fixes the
test.

Fix: 300158627
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I8782ac11a93c5f89b781dcca1713968ed18802cf
2023-10-13 02:44:12 +00:00
Daniel Norman
35265e838f Fix missing declared accessibility PreferenceControllers.
This includes 3 fixes:

Adds missing settings:controller attribute for bold & high-contrast
text preferences.

Separates VibrationSettings into two fragments, one per fragment XML resource.
  Instead of using a conditional to choose the XML resource ID,
  we now use the conditional to choose which fragment to launch.
  This allows both fragment's preference controllers to be inspected
  by CodeInspectionTest#runSliceControllerInXmlInspection.
  Also updates the preference keys which must be unique per XML in order
  to appear in Settings Search.

Adds Magnification preference controllers to exempt-not-in-XML list.
  These controllers are for fragments that are not declared in an XML.
  See ToggleScreenMagnificationPreferenceFragment
        #getPreferenceScreenResId.

Bug: 289967175
Test: atest SettingsRoboTests:com.android.settings.accessibility
Test: atest CodeInspectionTest#runSliceControllerInXmlInspection;
      Observe no errors in the accessibility package.
Test: Open Settings > Accessibility > Vibration & haptics;
      observe vibration intensity page is shown (behavior unchanged).
      Hardcode config_vibration_supported_intensity_levels=1;
      observe vibration page with toggles is shown (behavior unchanged).
Change-Id: I257b5ad390371bedb1623af6289016b06d478707
2023-10-02 18:00:30 +00:00
Peter Kalauskas
80e914a263 Enable use_resource_processor for all sysui deps
This will make the build faster

Test: m checkbuild
Bug: 295208392
Change-Id: If75acb6b1c3f204e3686c20cef609f7cfabe15cf
2023-09-21 23:09:39 +00:00
Angela Wang
e0313e1abe Merge "Hide pair other ear button after device connected via CSIP" into main 2023-09-20 05:59:08 +00:00
Chun-Ku Lin
186644aa6e Fix ScreenFlashNotificationColorDialogFragmentTest by launching the
fragment in modern way.

Fix: 300158485
Test: atest ScreenFlashNotificationColorDialogFragmentTest
Change-Id: I3396b05ad78501b38e68360e25389966d379aacb
2023-09-19 08:40:36 +00:00
Angela Wang
7a15ecafde Hide pair other ear button after device connected via CSIP
The pair other ear button should disappear after both ears of binaural
hearing aids are connected.

Remove checking if CSIP is enabled since CSIP is always enabled in
pairing stage.

Bug: 296646732
Test: check the UI manually
Change-Id: I804819eef41b5d3754ad0a79d9fc1afc66cef5cc
2023-09-19 04:49:35 +00:00