Actions:
1) Add the specific attribute to disallow parent view intercept the touch event of child view to avoid conflicting with the nested scroll view.
2) Add the scroll view into the page of the mail content preview.
Bug: 220078816
Test: manual test
Change-Id: I7f3b2afdf76e501386d9080e7a0eed8b92e28d3b
Action:
Immediately take the effect of updating the progress to avoid waiting for receiving the event to delay update.
Bug: 244979646
Test: make RunSettingsRoboTests ROBOTEST_FILTER=PreviewSizeSeekBarControllerTest
Change-Id: I6b78555c8536b666a3f015e41574c65e15879d1d
Actions:
1) Customize pages and use the components from SuW lib to align SuW consistent style.
2) Add the done button in the Anything Else page.
Bug: 232771631
Bug: 222419452
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingResetControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingPreferenceFragmentForSetupWizardTest
Change-Id: Ie3f3513ceee7c40d6286335dce91979df0d27f02
Action:
Observe the settings content change and then update the corresponding preference state.
Bug: 245441772
Test: manual test
Change-Id: I6205c2ebe0d1eda141e9b3bd00e4a21dfdba1760
Solution:
1) Update the preference state when the settings content change.
Bug: 246869845
Test: manual test
Change-Id: Ib776100e6940d09f5549c3edc2c5f5c6963c6d0e
Hearing aid constants defined differently across different hearing aid
related profiles. For hearing aid device mode, HearingAidProfile and
HapClientProfile have different values for mode definition and there is also
a new BANDED hearing aid type in HapClientProfile spec. For hearing aid
device side, HearingAidProfile has only 2 kinds of side which is left
and right whereas BLE hearing aid can retrieve 27 different kinds of
audio location.
We therefore introduce a new class HearingAidInfo for mapping these
different constants across these profiles into a single unified set of
constants.
Bug: 253192350
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityHearingAidPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidPairingDialogFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsPairOtherControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaDeviceGroupControllerTest
Change-Id: Id14928dbc051fcf76fe0d66b43aefefb1b5f7baf
Shows connected hearing aid in a11y settings page whether it's ASHA hearing aid or LE audio hearing aid. Makes sure preference summary is updated as expected when BluetoothHapClient profile connects or disconnects.
LE audio hearing aid will be a CSIP set. According to the CSIP spec, we will show the device is active without side information if there is only one device in the CSIP set and show the device is active left and right if both side of hearing aids are in the CSIP set.
Bug: 249235823
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityHearingAidPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidPairingDialogFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaBluetoothDeviceUpdaterTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsPairOtherControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsRelatedToolsControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ConnectedBluetoothDeviceUpdaterTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaDeviceGroupControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDevicesSliceTest
Change-Id: Ifd66cbd81481a1eb94613d89dfd8df16b8c43ae8
Root cause: The ag/19938064 introduces Settings Core change preference value changed metrics log format. It tries to lookupMetricsCategory() at Fragment#instantiate() stage. It has not onAttach() to activity by FragmentManager#add() or #replace(). The features were added by ag/15824482.
Solution: PutInt new MATRICS_CATEGORY extra in previous class to avoid giving context for FeatureFactory.getFactory to custom 1P accessibility services for SettingsGoogle overlay.
Bug: 259355675
Test: manual test
Change-Id: Ic37d41be6a54fe388f211c1c397d0b9b87b5fb56
Root Cause: TextUtils.isEmpty() will return true both null and empty case, and write config key into it.
Solution: Write config key only if settings key is null. That means no one (developers or users) touch the key ever, so we should respect config key here.
Bug: 255912415
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ToggleFeaturePreferenceFragmentTest
Change-Id: I092975ea3de8fce78b7ae2a6241a30f6af8125a6
Root Cause: Users should not be able to adjust any settings of the a11y
button in the setup wizard flow, but there will be a link button to
a11y button settings page on the a11y tutorial dialog where user can
modify the settings.
Solution: Hide the link button in a11y tutorial dialog if we know the
dialog is launched from any setup wizard page.
Bug: 256084341
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityGestureNavigationTutorialTest
Change-Id: I742f9b7ba311fcd7a5105463709dc104345b9f12
This reverts commit 28b4b34f92.
Reason for revert: Software Cursor is not launching in Android U
Test: manual
Change-Id: I213cf64ca94fce51883a30a9d6b734b4ed874dad
Root cause:
Preview didn't instantly be updated when scrolling the Display size.
Solution:
Get the value from preferences when scrolling, and from the display size data value when initializing.
Fix: 248748575
Test: manual test
Change-Id: I441766e0fd97ec1ac287d5bd4191693b2490c552
Problem:
It seems that the inconsistent index would cause the view stub couldn't be inflated successfully.
Solution:
Adjust it to the same index.
Fix: 244336110
Test: manual test
Change-Id: I2688e6feb61ac64f989e5f8e4910e6eeca3a97bf
The information including device mode, device side, and entry page id where the binding process starts. Set the mapped bond entry from BluetoothPairingDetail into the cached bluetooth device and log it later when the device mode and device side is received after the hearing aid bluetooth profile is connected.
Bug: 237344016
Test: m statsd_testdrive & statsd_testdrive 513
Change-Id: Ie0432f7da4f29e89e47d0ad3d72a04a9f5ea83ae
Merged-In: Ie0432f7da4f29e89e47d0ad3d72a04a9f5ea83ae
Use different source metric categories to distinguish different launch sources of the BluetoothPairingDetail page.
Bug: 237344016
Test: manual
Change-Id: If762e87414055f3e497f99ea6885f7736b7193cd
Merged-In: If762e87414055f3e497f99ea6885f7736b7193cd
The information including device mode, device side, and entry page id where the binding process starts. Set the mapped bond entry from BluetoothPairingDetail into the cached bluetooth device and log it later when the device mode and device side is received after the hearing aid bluetooth profile is connected.
Bug: 237344016
Test: m statsd_testdrive & statsd_testdrive 513
Change-Id: Ie0432f7da4f29e89e47d0ad3d72a04a9f5ea83ae
Goals: Set correct order into.
Fix: 233326281
Test: manual test
Change-Id: I88c65aa9c3f05281a5c5090c2ca9503327bb580f
Merged-In: I88c65aa9c3f05281a5c5090c2ca9503327bb580f
(cherry picked from commit 4b13620457)
* 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
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
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
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
"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
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)
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
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
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
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