From 3d3ef50243a1ceed2c03653bae271b9eb23da804 Mon Sep 17 00:00:00 2001 From: Matías Hernández Date: Tue, 21 Feb 2023 16:55:24 +0100 Subject: Fix a11y announcements in DND duration dialogs We are using a separate RadioButton just for the button and a view (possibly complex) fo the text. The latter didn't report an accurate selection status (especially when selecting, which didn't announce anything at all). Note that we are _not_ setting the "unselected" status to avoid repetition when walking through with Talkback (button -> text -> button -> text, ...). Fixes: 265468127 Test: Unit tests Change-Id: I87aad93d942a868776ecec163136fd9bfcb8276f --- .../src/com/android/settingslib/notification/EnableZenModeDialog.java | 3 +++ .../src/com/android/settingslib/notification/ZenDurationDialog.java | 3 +++ 2 files changed, 6 insertions(+) (limited to 'packages/SettingsLib/src') diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java index 6a1cee3146a2..562d20d05429 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java @@ -224,6 +224,9 @@ public class EnableZenModeDialog { mMetricsLogger.logOnConditionSelected(); updateAlarmWarningText(tag.condition); } + tag.line1.setStateDescription( + isChecked ? buttonView.getContext().getString( + com.android.internal.R.string.selected) : null); } }); diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java index 87e97b17b914..abbdaa73c18e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java @@ -196,6 +196,9 @@ public class ZenDurationDialog { if (isChecked) { tag.rb.setChecked(true); } + tag.line1.setStateDescription( + isChecked ? buttonView.getContext().getString( + com.android.internal.R.string.selected) : null); } }); -- cgit v1.2.3-59-g8ed1b