diff options
5 files changed, 57 insertions, 1 deletions
diff --git a/packages/SettingsLib/Android.bp b/packages/SettingsLib/Android.bp index af20a4bd5707..750c156f95bd 100644 --- a/packages/SettingsLib/Android.bp +++ b/packages/SettingsLib/Android.bp @@ -70,7 +70,7 @@ android_library { "src/**/*.kt", ], - min_sdk_version: "29", + min_sdk_version: "30", } 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); } }); diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java index 59d56747ec5d..6b81c1a6f794 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java @@ -16,6 +16,8 @@ package com.android.settingslib.notification; +import static com.google.common.truth.Truth.assertThat; + import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -78,6 +80,8 @@ public class EnableZenModeDialogTest { mController.mForeverId = Condition.newId(mContext).appendPath("forever").build(); when(mContext.getString(com.android.internal.R.string.zen_mode_forever)) .thenReturn("testSummary"); + when(mContext.getString(com.android.internal.R.string.selected)) + .thenReturn("selected"); NotificationManager.Policy alarmsEnabledPolicy = new NotificationManager.Policy( NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS, 0, 0, 0); doReturn(alarmsEnabledPolicy).when(mNotificationManager).getNotificationPolicy(); @@ -190,4 +194,25 @@ public class EnableZenModeDialogTest { // alarm warning should NOT be null assertNotNull(mController.computeAlarmWarningText(null)); } + + @Test + public void testAccessibility() { + mController.bindConditions(null); + EnableZenModeDialog.ConditionTag forever = mController.getConditionTagAt( + ZenDurationDialog.FOREVER_CONDITION_INDEX); + EnableZenModeDialog.ConditionTag countdown = mController.getConditionTagAt( + ZenDurationDialog.COUNTDOWN_CONDITION_INDEX); + EnableZenModeDialog.ConditionTag alwaysAsk = mController.getConditionTagAt( + ZenDurationDialog.ALWAYS_ASK_CONDITION_INDEX); + + forever.rb.setChecked(true); + assertThat(forever.line1.getStateDescription().toString()).isEqualTo("selected"); + assertThat(countdown.line1.getStateDescription()).isNull(); + assertThat(alwaysAsk.line1.getStateDescription()).isNull(); + + alwaysAsk.rb.setChecked(true); + assertThat(forever.line1.getStateDescription()).isNull(); + assertThat(countdown.line1.getStateDescription()).isNull(); + assertThat(alwaysAsk.line1.getStateDescription().toString()).isEqualTo("selected"); + } }
\ No newline at end of file diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java index 437c0d4f4469..fc45e89a6dd5 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java @@ -16,6 +16,8 @@ package com.android.settingslib.notification; +import static com.google.common.truth.Truth.assertThat; + import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; @@ -205,4 +207,27 @@ public class ZenDurationDialogTest { ZenDurationDialog.COUNTDOWN_CONDITION_INDEX); assertEquals(120, tag.countdownZenDuration); } + + @Test + public void testAccessibility() { + Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION, + Settings.Secure.ZEN_DURATION_FOREVER); + mController.setupDialog(mBuilder); + ZenDurationDialog.ConditionTag forever = mController.getConditionTagAt( + ZenDurationDialog.FOREVER_CONDITION_INDEX); + ZenDurationDialog.ConditionTag countdown = mController.getConditionTagAt( + ZenDurationDialog.COUNTDOWN_CONDITION_INDEX); + ZenDurationDialog.ConditionTag alwaysAsk = mController.getConditionTagAt( + ZenDurationDialog.ALWAYS_ASK_CONDITION_INDEX); + + forever.rb.setChecked(true); + assertThat(forever.line1.getStateDescription().toString()).isEqualTo("selected"); + assertThat(countdown.line1.getStateDescription()).isNull(); + assertThat(alwaysAsk.line1.getStateDescription()).isNull(); + + alwaysAsk.rb.setChecked(true); + assertThat(forever.line1.getStateDescription()).isNull(); + assertThat(countdown.line1.getStateDescription()).isNull(); + assertThat(alwaysAsk.line1.getStateDescription().toString()).isEqualTo("selected"); + } }
\ No newline at end of file |