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
* 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
There are two btns now: Pair new device and Show QR code
Pair new device -> go to Pair new device page
Show QR code -> go to QR code page
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 305620450
Change-Id: Id5ddb66f1bbc3b02228a0d639bf30cdc40bef265
This isn't a real image yet (just draws a diagonal gradient), but should now be roughly ready for inserting the correct drawables based on the mode whenever those are available.
Bug: 332730534
Test: manual, SetupInterstitialActivityTest
Flag: android.app.modes_ui
Change-Id: I45a78950f671a989258a85525a7a8ee0c445a332
This covers both the case of navigating to the mode page through the mode aggregator menu as well as if an app sends an intent to go to the mode.
The interstitial visuals are not done yet; in particular, the image is just a gray box for now.
Manual tests done:
- visually verifying the interstitial page in both portrait and landscape
- accessing the mode page from modes list, confirming interstitial pops up
- accessing enabled and disabled-by-user mode page from modes list (no interstitial)
- getting to the mode page from intent through an app
- accessing enabled and disabled-by-user mode pages from app intent (no interstitial)
- adjusted display and font size (it looks bad with max display & font size, maybe not much to be done)
Bug: 332730534
Test: manual, ZenModeFragmentTest, SetupInterstitialActivityTest
Flag: android.app.modes_ui
Change-Id: I21f13b0842d5b118a341f7d85e8fcac947ca3a06
* Don't read start / end time as separate labels.
* Fix content description of day buttons (ToggleButton's stateDescription is textOn/textOff -- which are the same for this particular button, thus it wasn't possible to know whether a day was selected or not).
Fixes: 346396147
Test: manual, with Talkback
Flag: android.app.modes_ui
Change-Id: If73a791cf9bd62cf17e058c81a8051b3e7fd82ea
- Cleaned up the code that won't be executed when the flag is on
- Remove unused resources
Bug: 300302098
Test: Manually verify the user can change the shortcut type, and the
changes are saved
Test: atest com.android.settings.accessibility
Flag: EXEMPT removing com.android.settings.accessibility.edit_shortcuts_in_full_screen
Change-Id: I1e32b724ca3da909feda55e20fb1d51dc4680c09
* Show blurb based on mode type.
* Make the icon bigger and highlight it when mode is active.
* Increase spacing between elements.
Also eliminate some code duplication between header of mode page and header of icon picker.
Fixes: 355415875
Test: manual
Flag: android.app.modes_ui
Change-Id: I7e788b9b5920cedb791d1571b19b37e65ece6d0b
(Some icons are temporary, until we get the final assets)
Also some fixes/improvements to CircularIconsPreference:
* Show the correct placeholder and +N icons.
* Fix the displayIcons-before-measure case (global layout listener was incorrect).
* Properly cancel pending image load futures (field didn't point to the actual future).
* Don't reload icons if it's the same set (depends on equals() for the items, so unfortunately doesn't work for AppEntry yet).
Test: atest com.android.settings.notification.modes
Bug: 346551087
Flag: android.app.modes_ui
Change-Id: I9d029a5fdd785ada4e2ba4d8a90eba72b5fb9085
(Several things pending, such as the +n icon and the correct pending icons, but it's a start).
Test: atest com.android.settings.notification.modes
Bug: 346551087
Flag: android.app.modes_ui
Change-Id: Ifd2ab6a8bb447739dc8ffe400c3960779d477fd6
With this change the RTL mirroring issue is fixed in the private space
education screen where the icons are aligned to the right for languages
requiring mirror support.
Screenshot:
go/ss/7AuF2HYsmTVaW5w.png
go/ss/HazpLiDH92X2X26.png
go/ss/4TueVkQcKmKZrAL.png
Flag: EXEMPT resource only update
Bug: 351141472
Test: Manual
Change-Id: I33d30ad425ae17e7a8653bc6545f640ee5d09706
This also unifies the "icon picker" screen with the new "add mode" screen since in both cases we want to edit name and icon together (and not save updates until the user confirms).
Bug: 326442408
Bug: 346278854
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: I8a9d07ba0b6c55f3abc1b9884f278d51d178dc83