The ZenModesLinkPreferenceController is present in the Notifications and Sound screens, and although isAvailable() is false when MODES_UI is not enabled, it was still registering the listener for Settings changes, and calling updateState().
Thus, Settings would (likely) crash if Zen settings change while the user is in one of those screens, due to not finding the manual rule.
Fixes: 360498255
Test: atest ZenSettingsObserverTest
Flag: android.app.modes_ui
Change-Id: I7741809fd0028aace6ac58992be965701e64a2e3
Adds metrics categories for driving and bedtime interstitial pages,
which we want to distinguish from other types of interstitial pages.
Bug: 332937635
Flag: android.app.modes_ui
Test: Build and flash
Change-Id: I49f2fd9f86f7d2737aebd9ef9d8675787421cc09
Instead of unnecessarily creating them by hand. This also allows restricting the visibility of the ZenMode constructors (which should only be instantiated by ZenModesBackend in production code).
Bug: 360817586
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: Id5a232a5a0ffc7bc09652fc4b6e6dd2a6383a2ae
Adding methods to enable the Touchpad Visualizer option based on both the feature flag and the value of the settings toggle.
Test: atest TouchpadVisualizerPreferenceControllerTest
Test: Enable the flag and enable the "Show touchpad input" in developer
options and trace the logs in TouchpadInputMapper.
Bug: 359801523
Flag: com.android.hardware.input.touchpad_visualizer
Change-Id: I1c51bc617e907081043cea3e6bab1c719f4d2df9
To be shared with video calling and VoLTE features.
Bug: 233327342
Flag: EXEMPT bug fix
Test: manual - on Mobile Settings
Test: atest ImsFeatureRepositoryTest
Change-Id: Ic7bcb532c4bd32c6f7ac4af1eebdd8a70a86ff29
Instead of "Limit what can notify you", title is now "Allow all notifications" and its behavior is reversed (switch ON hides people/apps/other).
Fixes: 360359116
Test: atest InterruptionFilterPreferenceControllerTest + manual
Flag: android.app.modes_ui
Change-Id: Ibb5334889662ec3aa778cd74c51506718ab0ebc7
* Sometimes would cause an unending stream of accessibility events (particularly if starting off-screen). This would break TalkBack and anything that depends on UiAutomator (although the system itself took it like a champ).
* Sometimes would not load images (because the ViewTreeObserver would never fire onGlobalLayout after being added because measured width was 0, even though a new width was calculated later).
* Would not recalculate the number of icons that fit if the width changes after the first layout.
Combining ViewHolders with waiting for measuring and/or ViewTreeObservers was always a wonky approach, even though it should've worked in theory. This should be more robust.
Also fixes the unwanted animation on mode screen load related to the absence of the header name being applied a tad too late.
Fixes: 359948417
Fixes: 360072876
Fixes: 360328804
Test: atest SettingsRoboTests + manual + adb shell uiautomator events
Flag: android.app.modes_ui
Change-Id: I7e5dfbdab220d1ebc1c68e5e87ce544ee86b6a65
- Since the speed of hotspot design was changed to refer to allowed channels rather than usable channels, remove the "Usable" naming to avoid confusion
Fix: 360312024
Flag: EXEMPT refactor
Test: Manual testing
atest -c WifiHotspotRepositoryTest
Change-Id: Ie54a351e0f788e1b6aeec079ccf6671f7f78fb1c
To ensure the landing key is the same as the indexing key.
Bug: 358238959
Flag: EXEMPT bug fix
Test: manual - search roaming
Test: unit test
Change-Id: I26ce712feaa83e9e70a3eb39039e5c3527f24cca
The default value for display in the radio buttons were hard-coded and was not
being reflected to the slider correctly.
Bug: 359379399
Test: locally tested + unit tests added
Flag: com.android.server.accessibility.enable_color_correction_saturation
Change-Id: I95bd0ae1d32561dbbf6b4e87efe70595c9566de8
Switching from Priority Apps to None would still show the icons of the priority apps. There were several minor things wrong:
* We were keeping the AppSession when a mode switches from "priority apps" to "none", and because onResume always fires the callback, we were loading the icons.
* Even when deactivating the session, its own onResume lifecycle listener was still firing one extra time, before we had a chance to deactivate it.
Also two minor improvements to CircularIconsPreference:
* Update mLoadedIcons when we early exit due to mIconSet having no items. Mostly for testing, since the icons wouldn't be visible anyway.
* Use notifyChanged() when we get a measured view, instead of holding a reference to the view. Technically the previous code violated the "shouldn't keep references to views outside of onBindViewHolder" (although I didn't see this having an effect in practice).
Fixes: 360077747
Test: atest ZenModeAppsLinkPreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: I6d4b7a344542da46f5ebfcd0774f1af27ed113ac
Filter out satellite PLMN if current connected network is satellite when user get into the manual select network menuIf Automatically select network is
Bug: 358429071
FLAG: EXEMPT bugfix
Test: manually test if satellite plmn is shown
Change-Id: I79aefc62e897319cae199985e9a63284086f6c2d
Bug: 353700779
Test: atest AccessibilitySettings, ensure new test passes
Test: revert AccessibilitySettings.java change, ensure new test fails
Test: Install poc APKs from the bug, observe issue not reproducible
Flag: NONE security fix
Change-Id: Ie680e80169aa734f2559fe50ef06e4d1eae46779