- Keep the accessibility settings strings the same as in U.
Bug: 289425138
Test: manual
Test: atest
Change-Id: Iddbbfe627c93529d2421e153094a30628229c4bc
We only show connected hearing devices in the hearing devices page now.
When user pairing a device from pairing page and back to the hearing
devices page after the device is bonded, it's confusing no device shown
in the list because the device is still connecting to profiles. We
should show the connecting device to avoid confusion.
Bug: 283268686
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DeviceListPreferenceFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableHearingDeviceUpdaterTest
Change-Id: Id3b29c12b80c282736a3e6ca73bcf317e0652b89
Set the settings shortcut size to large when the Magnification shortcut it enabled. Provide users with the large size as the default, which is easy to see.
Bug: 283844702
Test: manually - attach videos in the bug
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ToggleScreenMagnificationPreferenceFragmentTest
Change-Id: I8fac5780b8388b1b4f124cffbdd305235f035e72
Arabic use Western or Eastern numbers depends on the regions.
Bug: 276479321
Test: atest AccessibilityButtonFooterPreferenceControllerTest
Test: manual
Change-Id: I855f4fd891893b094163b0d479bdf3e5155dffc1
**Root cause**
ScreenFlashNotificationColorDialogFragment creates Timer which spawns
unmanageable threads for tests. Also, the test itself uses Thread.sleep
which makes it non-destermistic.
Bug: 279082331
Test: atest ScreenFlashNotificationColorDialogFragmentTest --iteration
20
Change-Id: Id49c8d402a0578f8297ca12fe49da304c7a988d8
**Root cause**
- When DisplayDataSizeTest was created, it was ignored already due to
b/214161063. That means the test never passed in the beginning.
- The default display's type in Robolectric is TYPE_UNKNOWN. However, in
the constructor of DisplayDensityUtils, we check all the display that is
not TYPE_INTERNAL can't be a default display. Hence the test failed.
- Even if we shadow the DisplayInfo to have TYPE_INTERNAL for default
display, the test still failed, because whenever we tried to get the
default display density we always get 0, and doens't have other diplay
density values. Hence we can't test increasing the display size in
Robolectric Test.
Note: the solution here is a workaround for waiting AsyncTask to finish.
If we ever change the implementation in DisplayDensityUtils to not use
AsyncTask, we'll need to update the test.
Bug: 279082331
Test: atest DisplaySizeDataTest --iterations 20
Change-Id: I3ccee5e7ba4d9399a8b715d84a9d53e106f88762
**Root cause**
The test was failing because it was not grabbing the boolean resource
from the values-mc999 folder. I'm not sure what changed in Robolectric
that causes it not able to find the resources based on the
qualifiers.
Bug: 279082331
Test: atest TopLevelAccessibilityPreferenceControllerTest
Change-Id: Ie738d1ada1a87b48f34efb7e0477c691c4d44d1e
metric category
**Root Cause**
The test was written when the metric category is set to 0. After we
update the metric category to FLASH_NOTIFICATION_SETTINGS in the
FlashNotificationsPrefereenceFragment, we forgot to update the test.
Bug: 279082331
Test: atest FlashNotificationsPreferenceFragmentTest
Change-Id: Icd709bd9e571ca264226d0ca860e5c482eae3927
performAccessibilityAction
**Root cause**
When constructing an AccessibilityAction, robolectric's
ShadowAccessibilityAction uses reflection to get the private static
final variable `ACTION_TYPE_MASK` to check if the passed action is a
valid action.
However, since ag/I744b3a94fe3c3cc3b559758a95ab0b5b181155bb we renamed
the internal variable, hence robolectric is not able to find the
ACTION_TYPE_MASK variable when using reflection.
By passing the action id directly when calling
performAccessibilityAction, we don't need to use
ShadowAccessibilityAction anymore.
Bug: 279082331
Test: atest AccessibilityQuickSettingsTooltipWindowTest
Change-Id: Ie956de44c9b19a2d19470ad670866d77ca272b3b
**Root cause**
Robolectric doesn't like to launch a spy'ed fragment. You will get an
error like java.lang.IllegalStateException: Can't access ViewModels from detached fragment
Since the test itself doesn't require launch a fragment, I removed the
setup part and renamed the test.
Bug: 279082331
Test: atest ToggleFeaturePreferenceFragmentTest
Change-Id: Iafc431fd8c9cf7812ea99164e5e85683f3e0c121
**Root cause**
We expected the spy resources will be used when calling
context.getResources(). However, we didn't set up the connection. Hence
the test failed due to trying to use the original resources.
Bug: 279082331
Test: atest AccessibilityButtonFragmentTest
Change-Id: Ib6e51b2b2607bec7980b9288a0a8076e4a036863
**Root cause**
When adding a feature flag on showing different hearing aid page on
click, the tests were not executed because they were marked as @Ignore.
In order to execute the test, we need to turn the feature flag off, so that the test run in the same scenario where the feature flag was not introduced.
Bug: 279082331
Test: atest AccessibilityHearingAidPreferenceControllerTest
Change-Id: If11ac40a7ea3926578992f7c0577e7cbb1bb3273
- Prevent mocking ToggleScreenMagnificationPreferenceFragment for test
- Use Robolectric's way to launch the fragment so that the fragment
contains necessary setup
**Root cause**
- We called onCreateView directly in the test without the necessary setup
in onCreate, which causes the FooterPreferenceController not being
initialized.
- We created a spyContext that returns a mock PackageManager, however,
in the test execution, we didn't mock the context used by the fragment
under test. Hence, the fragment didn't use the mock PackageManager in
test.
Bug: 284209879
Test: atest ToggleScreenMagnificationPreferenceFragmentTest --iterations
5
Change-Id: I7e71a03177526f5bb0c20a58855a7dfdffc2a22f
Many robotests that touches BluetoothAdapter might need to use our own
ShadowBluetoothAdapter which implements a "fake" getSupportedProfiles
call, so that the test won't trying to execute the android framework's getSupportedProfiles method.
Bug: 285235777
Test: atest AccessibilitySettingsTest
Change-Id: I5b3b2f4528a2b32aff22928653c57576981c0ff9
Some devices may supports both ASHA and CSIP. If the device supports
CSIP, it'll automatically pair the other ear and thus no need to pop up
the pair another ear dialog which is specially for ASHA device.
Bug: 283269736
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidUtilsTest
Change-Id: I9a8e3876e2905b18b1c63e74f47c6877504ebdc8
Previously we hide the preference when Bluetooth is off since it's only used for showing connected hearing aids and acting as a shortcut to device detail page.
However, the preference is now a new page of multiple controls, we probably shouldn't hide the preference the Bluetooth is off. Those controls should be accessible even if the Bluetooth is off.
Bug: 284092084
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingAidHelperTest
Change-Id: I647a187d73bd673c8ac8ab366579ba92c22ce1dc
activity.
Robolectric has shadows for many Android framework's code. With the help
of Robolectric, We don't need
to use mock the return value of every method Activity or Fragment has.
Bug: 283885638
Test: atest AccessibilityDetailsSettingsFragmentTest
Change-Id: I77dfa755e3a1b6a240a06f74b5a6c5984534c831
Our team is trying to determine the state of our tests in automation,
which is tough to do when some tests are skipped completely.
A11y SettingsRobotests are currently run only in postsubmit, so even
if the Ignored tests fail it should not cause presubmit issues.
Bug: 279082331
Test: Use go/abtd to ensure tests run (and some fail)
Change-Id: I767b25427e748b7e94ab05e81a2f645f8b6279cf
* Extract the common part into HearingAidHelper.
* Remove abstract getHearingDevice(). Change to get the hearing device when needed.
* Move several classes from Bluetooth into Accessibility
Bug: 281783079
Test: make RunSettingsRoboTests ROBOTEST_FILTER="(HearingDeviceAudioRoutingBasePreferenceControllerTest|AccessibilityHearingAidPreferenceControllerTest|HearingAidHelperTest|HearingAidAudioRoutingPreferenceControllerTest|HearingDeviceCallRoutingPreferenceControllerTest)"
Change-Id: I79049107409b7086c6dcc8d48a6323e171ed1535
When both the camera flash and screen flash toggles are turned off, tapping on the preview button will have no effect and may confuse users. To avoid this, the appearance of the preview button should be updated to clearly indicated that its current state is disabled. This wil help users better understand the situation and prevent confusion.
Bug: 276494146
Test: checks the UI manually
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FlashNotificationsPreviewPreferenceTest
Change-Id: I55b11188fde6e551921a9b0f7c89daa20a8b766b
Solution: Finish the page immediately to back to previous page when already BONDED the device in
all bluetooth device page.
Bug: 270096758
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ViewAllBluetoothDevicesPreferenceControllerTest
Change-Id: I13a88c3fbe0c6851f9446a9f574a1c18f934cd2e