For large enough screens, always use the portrait (all vertical in one column) layout for the intestitial, since the landscape split in two halves only makes sense for smaller screens.
Renames the layout to mode_interstitial_layout_base and uses an alias so that we can reuse the same layout but with additional padding.
Fixes: 361344824
Test: manual
Flag: android.app.modes_ui
Change-Id: I4e02e9a246ee799e3a79508f11290397a236574c
Also use the OTHER image for calendar/time, instead of UNKNOWN.
Bug: 332730534
Test: manual
Flag: android.app.modes_ui
Change-Id: I85a36d2d409ad3e9f3d5f70f95d90512443971a7
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
The description of the segment is already "App 1, App 2, and x more can interrupt", from its text. If the icons don't fit, there's a "+N" at the end. Accessibility services reading this is confusing, especially because the icons that don't fit are not the same as the names that don't fit, so you could get something like "App 1, App 2, and 9 more can interrupt, plus 4".
The whole circular-icons section is irrelevant for a11y so we just mark the container as "noHideDescendants" to save Talkback some work.
Fixes: 359837977
Test: Manual with Talkback
Flag: android.app.modes_ui
Change-Id: I346abcc94e25ef60c5e91f77b8e13f38ade39c71
This change removes the custom rounding of corners, as the provided images already have rounded corners.
Bug: 332730534
Test: manual (light & dark mode, various font/display sizes)
Flag: android.app.modes_ui
Change-Id: I71d0707554e5bc638add6a2907874e18e833da08
Ensure that horizontal spacing between items in the icon picker is distributed to the left and right of the row instead of between the items. This makes the horizontal and vertical spacing the same.
Bug: 359171199
Test: manual + hsv
Flag: android.app.modes_ui
Change-Id: I68c3860ba4092bb6fde2a1218b3f6a95d0c373da
String has been changed from "This is needed since Identity Check is on"
to "Identity Check is on"
Flag: android.hardware.biometrics.flags.mandatory_biometrics
Fixes: 358175977
Test: Manual
Change-Id: I12976f8eb52f419e5a97c88c35a1264e843ec259