Commit Graph

3 Commits

Author SHA1 Message Date
Matías Hernández
b676ca3a62 Fix several issues related to CircularIconsPreference
* 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
2024-08-16 16:20:38 +02:00
Matías Hernández
1dfc18740e Don't read the +N test of CircularIconsPreference
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
2024-08-14 17:09:46 +00:00
Matías Hernández
0ebc865c5e Show icons for apps bypassing DND
(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
2024-07-18 11:59:06 +02:00