Commit Graph

1250 Commits

Author SHA1 Message Date
menghanli
aaee157fdd Fix extra dim turns on failed in setting search bar
Root cause: Don't call displayPreference before setChecked called.
Solution: Don't show quick settings tooltips if preference is not ready.

Bug: 237850687
Bug: 244676175
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest
Change-Id: I52425190cce4ab3cf31be025a743bf8b212fa1f9
Merged-In: I52425190cce4ab3cf31be025a743bf8b212fa1f9
2022-09-08 07:44:17 +08:00
Jason Hsu
2ee7ebdf61 Merge changes If6c3b2f3,I8dafefbb
* changes:
  Fix 'Hearing aids' of Accessibility page didn't display connected info promptly when mobile restart
  Fix after dis/reconnect HA, DUT will request to re-pair one side of HA
2022-09-06 08:26:37 +00:00
jasonwshsu
6e7a8422ac Fix 'Hearing aids' of Accessibility page didn't display connected info promptly when mobile restart
Root Cause: get empty result in hearingAidProfile.getConnectedDevices()

Solution: Need to listen to onServiceConnected() to wait for HearingAidService get connected

Bug: 243489972
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityHearingAidPreferenceControllerTest
Change-Id: If6c3b2f3df81388c44e744e364e6258bde8bb645
2022-09-06 15:08:34 +08:00
menghanli
8541423080 Fix incorrect remove animation switch status after turned off Talkback
Root cause: The ag/3373822 introduce the comparison by string since 2017, but it would conflict with AccessibilityService#setAnimationScale(float) which is  added by API level 33.
Solution: Use float comparison instead and observe the key changed to update status if the setting page is on foreground.

Bug: 244687190
Test: atest DisableAnimationsPreferenceControllerTest
Change-Id: I59b7edb70a27af4276eccd6f19d2ef46ba30b604
2022-09-06 09:43:37 +08:00
Menghan Li
d7d1d9451b Merge "Refactor ToggleAutoclickPreferenceFragment to improve maintainability" 2022-09-05 23:39:44 +00:00
jasonwshsu
88f36dccc7 Fix after dis/reconnect HA, DUT will request to re-pair one side of HA
Root Cause: Another side of HA jumps to connecting state after pair-other-ear dialog appears.

Solution: Listen to onDeviceAttributesChanged() callback to know when
the sub device gets connected, then to dismiss dialog.

Bug: 236782832
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidPairingDialogFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaDeviceGroupControllerTest
Change-Id: I8dafefbb05e7cf1cadf37a7acbb2c5d66f2d0a78
2022-09-03 18:28:11 +08:00
Lauren Winston
28b4b34f92 Add toggles for two Software Cursor settings: keyboard shift and trigger
hints.

Bug: 242218807
Test: atest SoftwareCursorKeyboardShiftPreferenceControllerTest and
SoftwareCursorTriggerHintsPreferenceControllerTest

Change-Id: I872291ee90b54842b237868a72d61b38efbfd886
2022-08-29 22:12:46 +00:00
Kweku Adams
5949fccc7a Remove duplicate strings.
"Yes" and "no" were redefined many times with no clear benefit, so this
consolidates them into one definition.

Bug: 243843096
Test: Build, install, and open the Settings app
Test: atest SettingsRoboTests
Change-Id: I5f84d09f223efd478461ded93aeac82bf7b128d8
2022-08-26 00:07:08 +00:00
menghanli
66a96d220e Fix tapping magnification crash in vision settings setup screen
Root cause: ag/17286343 introduces hiding the settings entry in magnification settings if window magnification feature is not supported. It causes SuW page cannot find the settings preference reference.
Solution: Add null pointer check.

Bug: 242242266
Test: Manual testing
Change-Id: I1007a580047dd302228b28c15b82e958a2b01fec
(cherry picked from commit 5a87f6bbbf)
2022-08-24 21:17:46 +00:00
menghanli
5a87f6bbbf Fix tapping magnification crash in vision settings setup screen
Root cause: ag/17286343 introduces hiding the settings entry in magnification settings if window magnification feature is not supported. It causes SuW page cannot find the settings preference reference.
Solution: Add null pointer check.

Bug: 242242266
Test: Manual testing
Change-Id: I1007a580047dd302228b28c15b82e958a2b01fec
2022-08-24 11:39:33 +00:00
menghanli
057c5dc8ed Fix no show quick settings tutorial after device rotates
Root cause: Render apps below the cutout area to make the fragment recreate multiple times when the device rotates. The tutorial status is not stored correctly and try to show the tutorial when activity is finishing.
Solution: Avoid showing the tutorial when the activity is finishing and store correct tutorial status after recreate.

Bug: 239578655
Test: Manual testing
Change-Id: I3ff12e23eb971f61280ebc89014b086dc348d734
2022-08-22 15:54:05 +08:00
Menghan Li
84374522ea Merge "[Captioning preferences] Fix wrong color if default color selected" 2022-08-17 08:20:48 +00:00
menghanli
0ed28e9fd0 [Captioning preferences] Fix wrong color if default color selected
Root cause: When the default captioning color was selected, the opacity became 100% and made the opacity preference is disabled. After changing to non-default color, the opacity preference becomes enabled, but it keeps showing cached opacity in opacity preference and the preview still shows the wrong color.

Solution: Cache the latest opacity if default captioning color was selected to show the correct opacity later.

Bug: 241308551
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I7712fb25d622da62d7fb2d017e33f94ef258941b
2022-08-17 12:00:43 +08:00
Angela Wang
67efcacbc1 Fix wrong visibility of link button in a11y tutorial dialog
Root cause: the visibility of link button is not correctly set due to
the onPageSelected callback isn't called when the first page shows

Solution: Manually set the visibility of link button according to the
first tutirial page type when dialog is shown

Bug: 242141428
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityGestureNavigationTutorialTest
Change-Id: I33ed07bc7ae39d96baeeed85771c5f13e00ebf44
2022-08-15 06:01:17 +00:00
Lauren Winston
205018a854 Add a cursor preference to Accessibility Settings
Bug: 240194047

Test: atest SoftwareCursorPreferencesControllerTest and
SoftwareCursorTogglerPreferenceControllerTest

Change-Id: I97e226d8d8c0bcdfd0e2612e86b81987480063d1
2022-08-11 04:00:16 +00:00
Sunny Shao
8b17025d71 Fix slider bar is too close to bottom problem
- Extend the bottom padding of the RecyclerView.

Fixes: 219849557
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I197e837ad3d199b58d1c0ba46a08b0fa04277512
2022-08-08 20:25:44 +08:00
menghanli
e57125650d Unify the caption preference class naming
Bug: 197695932
Test: make RunSettingsRoboTests
Change-Id: Ice244442ad21e6d9f006d488992e9f58cf5c8fb0
2022-08-02 10:25:15 +08:00
menghanli
cb008ccf17 Refactor ToggleAutoclickPreferenceFragment to improve maintainability
Root cause: There is a bunch of different logic of preferences in ToggleAutoclickPreferenceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out logic of ToggleAutoclickPreferenceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I5db18d5a0c577ad67d15c2d0169a36a67e9f13db
2022-07-29 14:50:05 +08:00
menghanli
b9194c4eb8 Minor change for CaptionAppearanceFragment
1. Move unnecessary public variables into local variables
2. Use %s to update locale preference summary
3. Correct the test case name of CaptionPreviewPreferenceControllerTest

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I58d4d590b9b6d46c27d389217f846a780d755891
2022-07-29 14:33:43 +08:00
Menghan Li
6544dee983 Merge "Refactor CaptionAppearanceFragment to improve maintainability (5/n)" 2022-07-26 22:18:44 +00:00
menghanli
0e7f366ffa Refactor CaptionAppearanceFragment to improve maintainability (5/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out custom perference visiblity logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I53d4ca3809031587f8d6853b427774fd322a71d8
2022-07-26 12:25:56 +08:00
PETER LIANG
e000f54431 Merge "Fix the inconsistent alignment of the main switch preference." into tm-qpr-dev am: aea8f1aeb2 am: 26c3c3a95c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19358210

Change-Id: Iaa9faf78d8fd4813e9725f246745744e98d0c325
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-25 12:44:12 +00:00
Menghan Li
0f6f22225c Merge changes I5409c1e8,I8ed80b44
* changes:
  Refactor CaptionAppearanceFragment to improve maintainability (4/n)
  Refactor CaptionAppearanceFragment to improve maintainability (3/n)
2022-07-25 08:42:40 +00:00
menghanli
5356e0c0a9 Refactor CaptionAppearanceFragment to improve maintainability (4/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out preset preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CaptionPresetControllerTest CaptionAppearanceFragmentTest
Change-Id: I5409c1e8a6bdfc633abc304d8cf800ea0943de78
2022-07-25 12:26:27 +08:00
menghanli
16fbfe4e14 Refactor CaptionAppearanceFragment to improve maintainability (3/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out color and edge preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I8ed80b445a0d376a7e9dda87feda82420a78a9da
2022-07-25 09:18:11 +08:00
menghanli
755d691183 Refine AccessibilityGestureNavigationTutorial button type
Root cause: It is weird to display positive text for the negative button.
Solution: Change to the positive button.

Bug: 216189516
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityGestureNavigationTutorialTest
Change-Id: I8ffc6b7b5b510fab159a23af83bca4426f2dc81d
2022-07-25 08:40:24 +08:00
menghanli
33dda10ae7 Remove obsoleted code: AccessibilityGestureNavigationTutorial
Don't show the button tutorial when changing into sysem button navigation

Bug: 197695932
Test: make RunSettingsRoboTest
Change-Id: Ied90a602cd3228ee6f36b4b50fb1c019429a271e
2022-07-22 15:38:09 +08:00
Peter_Liang
e1c4901ce8 Fix the inconsistent alignment of the main switch preference.
Remove the redundant function.

Bug: 232494666
Test: manual test
Change-Id: I1827d39b194048452b71c680e2bbf94e43bfcac5
2022-07-21 00:56:07 +08:00
menghanli
236a376211 Refactor AccessibilityControlTimeoutPreferenceFragment to improve maintainability
Root cause: There is a bunch of different logic of preferences in AccessibilityControlTimeoutPreferenceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out logic of AccessibilityControlTimeoutPreferenceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I22e6e3b9e2f199ac1721fc069690321ad5f7a0d4
2022-07-18 15:50:52 +08:00
menghanli
3a591f9a34 Refactor CaptionAppearanceFragment to improve maintainability (2/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out font size and type face preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: Ia52cd272495d49a772c981f51e190ff7d29ee14f
2022-07-15 06:55:54 +08:00
menghanli
591e44bb99 Refactor CaptionAppearanceFragment to improve maintainability (1/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out preview preference logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: Ie8acdcb8659606ce3faf6d5532cc73ee19024725
2022-07-14 16:55:08 +08:00
Jason Hsu
20f06012f6 Merge changes Ib9cb9b6d,I85209170
* changes:
  Change updatePreferenceOrder() to onCreateView()
  Migrate to DashboardFragment in ToggleFeaturePreferenceFragment
2022-07-13 04:32:22 +00:00
Menghan Li
ae9d768549 Merge "Add SearchIndexable to improve search coverage" 2022-07-12 22:52:12 +00:00
jasonwshsu
15c73a5f83 Change updatePreferenceOrder() to onCreateView()
Root Cause: change preferences' order in onViewCreated() will see the
order moving animation.

Solution:
* Move to onCreateView() can avoid seeing the order moving animation.
* Move onProcessArguments() to onCreate() to let it be called as early
  as possible. Also let it align the calling getArguments() behavior in
  parent class PreferenceFragmentCompat.

Bug: 171272809
Test: make RunSettingsRoboTests ROBOTEST_FILTLTER=ToggleFeaturePreferenceFragmentTest
Change-Id: Ib9cb9b6df232ddcb681683ac2fcd2c6406c7a487
2022-07-13 00:41:00 +08:00
jasonwshsu
8145631ab8 Migrate to DashboardFragment in ToggleFeaturePreferenceFragment
Root Cause: ToggleFeaturePrefreferenceFragment becomes heavy when more and more features come in.

Solution: Mirgrate to DashboardFragment, a plugin-style preference controllers, can help us separate the preference and its logic into its own controller.

* This is the first step for the whole migration. Change to extend DashboardFragment and fill up the missing override functions.
* Reorder fields and functions to the recommended general approach.

Bug: 171272809
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.accessibility

Change-Id: I852091700a4b3b3c7bbdbc82f0b5dc47c087d61c
2022-07-13 00:40:55 +08:00
Menghan Li
c825a0bdc9 Merge "Remove obsoleted code: DividerAllowedBelowPreference" 2022-07-12 13:01:50 +00:00
menghanli
5209a10e9f Remove obsoleted code: DividerAllowedBelowPreference
Settings don't show divider in material design. The DividerAllowedBelowPreference is not used now.

Bug: 197695932
Test: make RunSettingsRoboTest
Change-Id: Id2b28f76c4ed8c429594bf786690499fb3f2503a
2022-07-12 11:28:11 +08:00
menghanli
ab6cbea3fd Remove obsoleted code: DividerSwitchPreference
Settings don't show divider in material design. The DividerSwitchPreference is not used now.

Bug: 197695932
Test: make RunSettingsRoboTest
Change-Id: I3fef9401b5c4a3e7d4ca6fc966f3e60c57558cdd
2022-07-12 11:23:55 +08:00
menghanli
6c85a215de Add SearchIndexable to improve search coverage
- Add searachIndex test
- Increase accessibility framework feature fragment coverage

Bug: 197695932
Test: make RunSettingsRoboTests
Change-Id: Icb7e2cf70bb0443304af7866efd48bed1d9af5bf
2022-07-12 10:51:59 +08:00
Menghan Li
67b6b5a020 Merge "Fix extra dim turns on failed in setting search bar" 2022-07-07 21:06:04 +00:00
menghanli
d95d799d86 Fix extra dim turns on failed in setting search bar
Root cause: Don't call displayPreference before setChecked called.
Solution: Don't show quick settings tooltips if preference is not ready.

Bug: 237850687
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest
Change-Id: I52425190cce4ab3cf31be025a743bf8b212fa1f9
2022-07-07 09:04:53 +08:00
Peter_Liang
772e114438 Avoid the reset item having inconsistent alignment with the others under SuW.
Replaces the LayoutPreference with native Preference for the reset preference which is used for resettings the status of all preferences.

Bug: 232528123
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingResetControllerTest,TextReadingResetPreferenceTest
Change-Id: I00719f13dc78039269ee373c6b35e12e7ff595ce
2022-07-05 15:32:37 +08:00
Menghan Li
9450735e38 Merge "Refactor CaptionPropertiesFragment to improve maintainability" 2022-06-30 03:48:33 +00:00
menghanli
1d26b6d898 Refactor CaptionPropertiesFragment to improve maintainability
Root cause: There is a bunch of different logic of preferences in CaptionPropertiesFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out different logic of CaptionPropertiesFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CaptionPropertiesFragmentTest CaptionTogglePreferenceControllerTest
Change-Id: I7013a7aa284b587c329c2e678dbb079e553ea94d
2022-06-30 09:01:13 +08:00
Menghan Li
5a3498c9bc Merge "Refactor CaptionMoreOptionsFragment to improve maintainability" 2022-06-30 00:16:54 +00:00
menghanli
deb72e29ef Refactor CaptionMoreOptionsFragment to improve maintainability
Root cause: There is a bunch of different logic of preferences in CaptionMoreOptionsFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out different logic of CaptionMoreOptionsFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CaptionMoreOptionsFragmentTest CaptionLocalePreferenceControllerTest
Change-Id: Ifdf3e22b027328a9f8eb13d756730ca047ece047
2022-06-30 00:16:19 +00:00
Angela Wang
b4e3cd1e77 Merge "Update source metric category of HearingAidDialogFragment and HearingAidPairingDialogFragment" 2022-06-29 11:38:17 +00:00
Angela Wang
c7e74fd8b6 Update source metric category of HearingAidDialogFragment and HearingAidPairingDialogFragment
Use different source metric categories to distinguish different launch sources of the BluetoothPairingDetail page.

Bug: 237344016
Test: manual
Change-Id: If762e87414055f3e497f99ea6885f7736b7193cd
2022-06-28 03:49:34 +00:00
menghanli
e862d44e15 Setup AccessibilitySettingsForSetupWizard test infrastructure
Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilitySettingsForSetupWizardTest
Change-Id: I9438f770bfe2ef5f03206fc4645e77bab6328cc6
2022-06-27 08:45:08 +08:00
Menghan Li
94f328040d Merge "Remove obsoleted code: VideoPlayer" 2022-06-10 06:31:05 +00:00