From 23612e325be121c198dd6850826115c927cf1d5c Mon Sep 17 00:00:00 2001 From: Beverly Date: Fri, 9 Mar 2018 15:49:22 -0500 Subject: [PATCH 1/2] Update seconday text DND Exceptions preference Test: manual Bug: 74441398 Change-Id: Ibaa459aa368f62c4ef8cdbefef462848e7bc6fe7 --- res/values/strings.xml | 9 ++++- .../notification/ZenModeSettings.java | 40 +++++++++---------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index ab8c0111230..d9963dd8bb6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6996,6 +6996,11 @@ Sound, vibration, and visual signs of notifications + + None + + other options + Add @@ -7574,8 +7579,8 @@ Media - - Touch and charging sounds + + Touch sounds Reminders diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java index 557d6248960..c002b8274f8 100644 --- a/src/com/android/settings/notification/ZenModeSettings.java +++ b/src/com/android/settings/notification/ZenModeSettings.java @@ -92,31 +92,29 @@ public class ZenModeSettings extends ZenModeSettingsBase { }; String getBehaviorSettingSummary(Policy policy, int zenMode) { - List enabledCategories; + List enabledCategories = getEnabledCategories(policy); - if (zenMode == Settings.Global.ZEN_MODE_NO_INTERRUPTIONS) { - return mContext.getString(R.string.zen_mode_behavior_total_silence); - } else if (zenMode == Settings.Global.ZEN_MODE_ALARMS) { - return mContext.getString(R.string.zen_mode_behavior_alarms_only); - } else { - enabledCategories = getEnabledCategories(policy); - } - - // no sound categories can bypass dnd int numCategories = enabledCategories.size(); if (numCategories == 0) { - return mContext.getString(R.string.zen_mode_behavior_total_silence); + return mContext.getString(R.string.zen_mode_no_exceptions); + } else if (numCategories == 1) { + return enabledCategories.get(0); + } else if (numCategories == 2) { + return mContext.getString(R.string.join_two_items, enabledCategories.get(0), + enabledCategories.get(1).toLowerCase()); + } else if (numCategories == 3){ + String secondaryText = mContext.getString(R.string.join_two_unrelated_items, + enabledCategories.get(0), enabledCategories.get(1).toLowerCase()); + return mContext.getString(R.string.join_two_items, secondaryText, + enabledCategories.get(2).toLowerCase()); + } else { + String secondaryText = mContext.getString(R.string.join_many_items_middle, + enabledCategories.get(0), enabledCategories.get(1).toLowerCase()); + secondaryText = mContext.getString(R.string.join_many_items_middle, secondaryText, + enabledCategories.get(2).toLowerCase()); + return mContext.getString(R.string.join_many_items_last, secondaryText, + mContext.getString(R.string.zen_mode_other_options)); } - - // only alarms and media can bypass dnd - if (numCategories == 2 && - isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_ALARMS) && - isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MEDIA)) { - return mContext.getString(R.string.zen_mode_behavior_alarms_only); - } - - // custom - return mContext.getString(R.string.zen_mode_behavior_summary_custom); } String getSoundSummary() { From 170b88c6fc3d9b9a5f1eba13f354255a96a7e39f Mon Sep 17 00:00:00 2001 From: Beverly Date: Mon, 12 Mar 2018 14:35:27 -0400 Subject: [PATCH 2/2] Test for string changes in DND Sound Settings Test: this Change-Id: I47ba1d1bad6a5be04d718d2e58eaf5dd6c69f107 Fixes: 74529508 --- .../notification/ZenModeSettingsTest.java | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java index 5c81efc9468..bd94bf5f24d 100644 --- a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java +++ b/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java @@ -47,27 +47,12 @@ public class ZenModeSettingsTest { } @Test - public void testGetBehaviorSettingSummary_customBehavior() { - NotificationManager.Policy policy = new NotificationManager.Policy( - NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS - | NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS - | NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS - | NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA, - 0, 0); - final String result = mBuilder.getBehaviorSettingSummary(policy, - Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); - - String custom = mContext.getString(R.string.zen_mode_behavior_summary_custom); - assertEquals(custom, result); - } - - @Test - public void testGetBehaviorSettingSummary_totalSilence() { + public void testGetBehaviorSettingSummary_noSoundsCanBypass() { NotificationManager.Policy policy = new NotificationManager.Policy(0, 0, 0); final String result = mBuilder.getBehaviorSettingSummary(policy, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); - String totalSilence = mContext.getString(R.string.zen_mode_behavior_total_silence); + String totalSilence = mContext.getString(R.string.zen_mode_no_exceptions); assertEquals(totalSilence, result); } @@ -80,7 +65,9 @@ public class ZenModeSettingsTest { final String result = mBuilder.getBehaviorSettingSummary(policy, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); - String alarmsAndMedia = mContext.getString(R.string.zen_mode_behavior_alarms_only); + String alarmsAndMedia = mContext.getString(R.string.join_two_items, + mContext.getString(R.string.zen_mode_alarms), + mContext.getString(R.string.zen_mode_media).toLowerCase()); assertEquals(alarmsAndMedia, result); }