Loading res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -7181,6 +7181,9 @@ <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option --> <string name="zen_mode_alarms">Alarms</string> <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option summary --> <string name="zen_mode_alarms_summary">Alarms are always a priority and make sound</string> <!-- [CHAR LIMIT=50] Zen mode settings: Reminders option --> <string name="zen_mode_reminders">Reminders</string> res/xml/zen_mode_priority_settings.xml +8 −7 Original line number Diff line number Diff line Loading @@ -19,13 +19,6 @@ android:key="zen_mode_priority_settings" android:title="@string/zen_mode_priority_settings_title" > <!-- Alarms --> <SwitchPreference android:key="alarms" android:title="@string/zen_mode_alarms" android:enabled="false" android:defaultValue="true"/> <!-- Reminders --> <SwitchPreference android:key="reminders" Loading @@ -36,6 +29,14 @@ android:key="events" android:title="@string/zen_mode_events"/> <!-- Alarms --> <SwitchPreference android:key="alarms" android:title="@string/zen_mode_alarms" android:summary="@string/zen_mode_alarms_summary" android:enabled="false" android:defaultValue="true"/> <!-- Messages --> <DropDownPreference android:key="messages" Loading src/com/android/settings/notification/ZenModeSettings.java +12 −3 Original line number Diff line number Diff line Loading @@ -356,10 +356,10 @@ public class ZenModeSettings extends ZenModeSettingsBase { String getPrioritySettingSummary(Policy policy) { String s = mContext.getString(R.string.zen_mode_alarms); s = append(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_REMINDERS), R.string.zen_mode_reminders); s = append(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_EVENTS), s = prepend(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_EVENTS), R.string.zen_mode_events); s = prepend(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_REMINDERS), R.string.zen_mode_reminders); if (isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MESSAGES)) { if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) { s = append(s, true, R.string.zen_mode_all_messages); Loading Loading @@ -424,6 +424,15 @@ public class ZenModeSettings extends ZenModeSettingsBase { return s; } @VisibleForTesting String prepend(String s, boolean condition, int resId) { if (condition) { return mContext.getString( R.string.join_many_items_middle, mContext.getString(resId), s); } return s; } private boolean isCategoryEnabled(Policy policy, int categoryType) { return (policy.priorityCategories & categoryType) != 0; } Loading tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java +35 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.notification; import android.app.NotificationManager; import android.content.Context; import com.android.settings.R; Loading @@ -30,6 +31,8 @@ import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertTrue; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class ZenModeSettingsTest { Loading Loading @@ -60,6 +63,38 @@ public class ZenModeSettingsTest { final String result = mBuilder.append(original, true, R.string.zen_mode_alarms); assertThat(result).contains(alarm); assertThat(result).contains(original); assertTrue(result.indexOf(original) < result.indexOf(alarm)); } @Test public void testPrepend() { String original = mContext.getString(R.string.zen_mode_alarms); String reminders = mContext.getString(R.string.zen_mode_reminders); final String result = mBuilder.prepend(original, true, R.string.zen_mode_reminders); assertThat(result).contains(original); assertThat(result).contains(reminders); assertTrue(result.indexOf(reminders) < result.indexOf(original)); } @Test public void testGetPrioritySettingSummary_sameOrderAsTargetPage() { NotificationManager.Policy policy = new NotificationManager.Policy( NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS | NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS, 0, 0); final String result = mBuilder.getPrioritySettingSummary(policy); String alarms = mContext.getString(R.string.zen_mode_alarms); String reminders = mContext.getString(R.string.zen_mode_reminders); String events = mContext.getString(R.string.zen_mode_events); assertThat(result).contains(alarms); assertThat(result).contains(reminders); assertThat(result).contains(events); assertTrue(result.indexOf(reminders) < result.indexOf(events) && result.indexOf(events) < result.indexOf(alarms)); } } Loading
res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -7181,6 +7181,9 @@ <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option --> <string name="zen_mode_alarms">Alarms</string> <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option summary --> <string name="zen_mode_alarms_summary">Alarms are always a priority and make sound</string> <!-- [CHAR LIMIT=50] Zen mode settings: Reminders option --> <string name="zen_mode_reminders">Reminders</string>
res/xml/zen_mode_priority_settings.xml +8 −7 Original line number Diff line number Diff line Loading @@ -19,13 +19,6 @@ android:key="zen_mode_priority_settings" android:title="@string/zen_mode_priority_settings_title" > <!-- Alarms --> <SwitchPreference android:key="alarms" android:title="@string/zen_mode_alarms" android:enabled="false" android:defaultValue="true"/> <!-- Reminders --> <SwitchPreference android:key="reminders" Loading @@ -36,6 +29,14 @@ android:key="events" android:title="@string/zen_mode_events"/> <!-- Alarms --> <SwitchPreference android:key="alarms" android:title="@string/zen_mode_alarms" android:summary="@string/zen_mode_alarms_summary" android:enabled="false" android:defaultValue="true"/> <!-- Messages --> <DropDownPreference android:key="messages" Loading
src/com/android/settings/notification/ZenModeSettings.java +12 −3 Original line number Diff line number Diff line Loading @@ -356,10 +356,10 @@ public class ZenModeSettings extends ZenModeSettingsBase { String getPrioritySettingSummary(Policy policy) { String s = mContext.getString(R.string.zen_mode_alarms); s = append(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_REMINDERS), R.string.zen_mode_reminders); s = append(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_EVENTS), s = prepend(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_EVENTS), R.string.zen_mode_events); s = prepend(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_REMINDERS), R.string.zen_mode_reminders); if (isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MESSAGES)) { if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) { s = append(s, true, R.string.zen_mode_all_messages); Loading Loading @@ -424,6 +424,15 @@ public class ZenModeSettings extends ZenModeSettingsBase { return s; } @VisibleForTesting String prepend(String s, boolean condition, int resId) { if (condition) { return mContext.getString( R.string.join_many_items_middle, mContext.getString(resId), s); } return s; } private boolean isCategoryEnabled(Policy policy, int categoryType) { return (policy.priorityCategories & categoryType) != 0; } Loading
tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java +35 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.notification; import android.app.NotificationManager; import android.content.Context; import com.android.settings.R; Loading @@ -30,6 +31,8 @@ import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertTrue; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class ZenModeSettingsTest { Loading Loading @@ -60,6 +63,38 @@ public class ZenModeSettingsTest { final String result = mBuilder.append(original, true, R.string.zen_mode_alarms); assertThat(result).contains(alarm); assertThat(result).contains(original); assertTrue(result.indexOf(original) < result.indexOf(alarm)); } @Test public void testPrepend() { String original = mContext.getString(R.string.zen_mode_alarms); String reminders = mContext.getString(R.string.zen_mode_reminders); final String result = mBuilder.prepend(original, true, R.string.zen_mode_reminders); assertThat(result).contains(original); assertThat(result).contains(reminders); assertTrue(result.indexOf(reminders) < result.indexOf(original)); } @Test public void testGetPrioritySettingSummary_sameOrderAsTargetPage() { NotificationManager.Policy policy = new NotificationManager.Policy( NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS | NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS, 0, 0); final String result = mBuilder.getPrioritySettingSummary(policy); String alarms = mContext.getString(R.string.zen_mode_alarms); String reminders = mContext.getString(R.string.zen_mode_reminders); String events = mContext.getString(R.string.zen_mode_events); assertThat(result).contains(alarms); assertThat(result).contains(reminders); assertThat(result).contains(events); assertTrue(result.indexOf(reminders) < result.indexOf(events) && result.indexOf(events) < result.indexOf(alarms)); } }