Loading res/values/strings.xml +24 −0 Original line number Diff line number Diff line Loading @@ -7975,9 +7975,15 @@ <!-- [CHAR LIMIT=50] Zen mode settings: All messages summary --> <string name="zen_mode_all_messages">Messages</string> <!-- [CHAR LIMIT=50] Zen mode settings: Messages option (ie: text messages) --> <string name="zen_mode_all_messages_list">messages</string> <!-- [CHAR LIMIT=50] Zen mode settings: Selected messages summary --> <string name="zen_mode_selected_messages">Some messages</string> <!-- [CHAR LIMIT=50] Zen mode settings: Selected messages (ie: some text messages are allowed to bypass dnd) --> <string name="zen_mode_selected_messages_list">some messages</string> <!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: From anyone --> <string name="zen_mode_from_anyone">From anyone</string> Loading @@ -8002,21 +8008,36 @@ <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option --> <string name="zen_mode_alarms">Alarms</string> <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option (ie: sound from alarm clock) --> <string name="zen_mode_alarms_list">alarms</string> <!-- [CHAR LIMIT=50] Zen mode settings: Media option --> <string name="zen_mode_media">Media</string> <!-- [CHAR LIMIT=50] Zen mode settings: Media (ie: sound from video) --> <string name="zen_mode_media_list">media</string> <!-- [CHAR LIMIT=50] Zen mode settings: System option which includes sounds such as touch sounds --> <string name="zen_mode_system">Touch sounds</string> <!-- [CHAR LIMIT=50] Zen mode settings: System sounds (ie: touch sounds) --> <string name="zen_mode_system_list">touch sounds</string> <!-- [CHAR LIMIT=50] Zen mode settings: Reminders option --> <string name="zen_mode_reminders">Reminders</string> <!-- [CHAR LIMIT=50] Zen mode settings: Reminders (ie: calendar reminders are allowed to bypass dnd) --> <string name="zen_mode_reminders_list">reminders</string> <!-- [CHAR LIMIT=70] Zen mode settings: Allow reminders toggle title --> <string name="zen_mode_reminders_title">Allow reminders</string> <!-- [CHAR LIMIT=50] Zen mode settings: Events option --> <string name="zen_mode_events">Events</string> <!-- [CHAR LIMIT=50] Zen mode settings: Events (ie: calendar events) --> <string name="zen_mode_events_list">events</string> <!-- [CHAR LIMIT=70] Zen mode settings: Allow events toggle title --> <string name="zen_mode_events_title">Allow events</string> Loading @@ -8032,6 +8053,9 @@ <!-- [CHAR LIMIT=50] Zen mode settings: Repeat callers option --> <string name="zen_mode_repeat_callers">Repeat callers</string> <!-- [CHAR LIMIT=50] Zen mode settings: Repeat callers (ie: repeat callers are allowed to bypass dnd) --> <string name="zen_mode_repeat_callers_list">repeat callers</string> <!-- [CHAR LIMIT=70] Zen mode settings: Allow repeat callers toggle title --> <string name="zen_mode_repeat_callers_title">Allow repeat callers</string> src/com/android/settings/notification/ZenModeSettings.java +89 −55 Original line number Diff line number Diff line Loading @@ -119,22 +119,22 @@ public class ZenModeSettings extends ZenModeSettingsBase { List<String> enabledCategories = getEnabledCategories(policy, category -> PRIORITY_CATEGORY_ALARMS == category || PRIORITY_CATEGORY_MEDIA == category || PRIORITY_CATEGORY_SYSTEM == category); || PRIORITY_CATEGORY_SYSTEM == category, false); int numCategories = enabledCategories.size(); if (numCategories == 0) { return mContext.getString(R.string.zen_sound_all_muted); } else if (numCategories == 1) { return mContext.getString(R.string.zen_sound_one_allowed, enabledCategories.get(0).toLowerCase()); enabledCategories.get(0)); } else if (numCategories == 2) { return mContext.getString(R.string.zen_sound_two_allowed, enabledCategories.get(0).toLowerCase(), enabledCategories.get(1).toLowerCase()); enabledCategories.get(0), enabledCategories.get(1)); } else if (numCategories == 3) { return mContext.getString(R.string.zen_sound_three_allowed, enabledCategories.get(0).toLowerCase(), enabledCategories.get(1).toLowerCase(), enabledCategories.get(2).toLowerCase()); enabledCategories.get(0), enabledCategories.get(1), enabledCategories.get(2)); } else { return mContext.getString(R.string.zen_sound_none_muted); } Loading @@ -143,17 +143,17 @@ public class ZenModeSettings extends ZenModeSettingsBase { String getCallsSettingSummary(Policy policy) { List<String> enabledCategories = getEnabledCategories(policy, category -> PRIORITY_CATEGORY_CALLS == category || PRIORITY_CATEGORY_REPEAT_CALLERS == category); || PRIORITY_CATEGORY_REPEAT_CALLERS == category, false); int numCategories = enabledCategories.size(); if (numCategories == 0) { return mContext.getString(R.string.zen_mode_no_exceptions); } else if (numCategories == 1) { return mContext.getString(R.string.zen_mode_calls_summary_one, enabledCategories.get(0).toLowerCase()); enabledCategories.get(0)); } else { return mContext.getString(R.string.zen_mode_calls_summary_two, enabledCategories.get(0).toLowerCase(), enabledCategories.get(1).toLowerCase()); enabledCategories.get(0), enabledCategories.get(1)); } } Loading @@ -161,7 +161,7 @@ public class ZenModeSettings extends ZenModeSettingsBase { List<String> enabledCategories = getEnabledCategories(policy, category -> PRIORITY_CATEGORY_EVENTS == category || PRIORITY_CATEGORY_REMINDERS == category || PRIORITY_CATEGORY_MESSAGES == category); || PRIORITY_CATEGORY_MESSAGES == category, true); int numCategories = enabledCategories.size(); if (numCategories == 0) { return mContext.getString(R.string.zen_mode_no_exceptions); Loading @@ -169,19 +169,19 @@ public class ZenModeSettings extends ZenModeSettingsBase { return enabledCategories.get(0); } else if (numCategories == 2) { return mContext.getString(R.string.join_two_items, enabledCategories.get(0), enabledCategories.get(1).toLowerCase()); enabledCategories.get(1)); } else if (numCategories == 3){ final List<String> summaries = new ArrayList<>(); summaries.add(enabledCategories.get(0)); summaries.add(enabledCategories.get(1).toLowerCase()); summaries.add(enabledCategories.get(2).toLowerCase()); summaries.add(enabledCategories.get(1)); summaries.add(enabledCategories.get(2)); return ListFormatter.getInstance().format(summaries); } else { final List<String> summaries = new ArrayList<>(); summaries.add(enabledCategories.get(0)); summaries.add(enabledCategories.get(1).toLowerCase()); summaries.add(enabledCategories.get(2).toLowerCase()); summaries.add(enabledCategories.get(1)); summaries.add(enabledCategories.get(2)); summaries.add(mContext.getString(R.string.zen_mode_other_options)); return ListFormatter.getInstance().format(summaries); Loading Loading @@ -251,55 +251,89 @@ public class ZenModeSettings extends ZenModeSettingsBase { } private List<String> getEnabledCategories(Policy policy, Predicate<Integer> filteredCategories) { Predicate<Integer> filteredCategories, boolean capitalizeFirstInList) { List<String> enabledCategories = new ArrayList<>(); for (int category : ALL_PRIORITY_CATEGORIES) { boolean isFirst = capitalizeFirstInList && enabledCategories.isEmpty(); if (filteredCategories.test(category) && isCategoryEnabled(policy, category)) { if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS && isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_CALLS) && policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) { continue; } enabledCategories.add(getCategory(category, policy, isFirst)); } } return enabledCategories; } private boolean isCategoryEnabled(Policy policy, int categoryType) { return (policy.priorityCategories & categoryType) != 0; } private String getCategory(int category, Policy policy, boolean isFirst) { if (category == PRIORITY_CATEGORY_ALARMS) { enabledCategories.add(mContext.getString(R.string.zen_mode_alarms)); if (isFirst) { return mContext.getString(R.string.zen_mode_alarms); } else { return mContext.getString(R.string.zen_mode_alarms_list); } } else if (category == PRIORITY_CATEGORY_MEDIA) { enabledCategories.add(mContext.getString( R.string.zen_mode_media)); if (isFirst) { return mContext.getString(R.string.zen_mode_media); } else { return mContext.getString(R.string.zen_mode_media_list); } } else if (category == PRIORITY_CATEGORY_SYSTEM) { enabledCategories.add(mContext.getString( R.string.zen_mode_system)); if (isFirst) { return mContext.getString(R.string.zen_mode_system); } else { return mContext.getString(R.string.zen_mode_system_list); } } else if (category == Policy.PRIORITY_CATEGORY_MESSAGES) { if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) { enabledCategories.add(mContext.getString( R.string.zen_mode_all_messages)); if (isFirst) { return mContext.getString(R.string.zen_mode_all_messages); } else { return mContext.getString(R.string.zen_mode_all_messages_list); } } else { if (isFirst) { return mContext.getString(R.string.zen_mode_selected_messages); } else { enabledCategories.add(mContext.getString( R.string.zen_mode_selected_messages)); return mContext.getString(R.string.zen_mode_selected_messages_list); } } } else if (category == Policy.PRIORITY_CATEGORY_EVENTS) { enabledCategories.add(mContext.getString(R.string.zen_mode_events)); if (isFirst) { return mContext.getString(R.string.zen_mode_events); } else { return mContext.getString(R.string.zen_mode_events_list); } } else if (category == Policy.PRIORITY_CATEGORY_REMINDERS) { enabledCategories.add(mContext.getString(R.string.zen_mode_reminders)); if (isFirst) { return mContext.getString(R.string.zen_mode_reminders); } else { return mContext.getString(R.string.zen_mode_reminders_list); } } else if (category == Policy.PRIORITY_CATEGORY_CALLS) { if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) { enabledCategories.add(mContext.getString( R.string.zen_mode_all_callers)); return mContext.getString(R.string.zen_mode_all_callers); } else if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_CONTACTS){ enabledCategories.add(mContext.getString( R.string.zen_mode_contacts_callers)); return mContext.getString(R.string.zen_mode_contacts_callers); } else { enabledCategories.add(mContext.getString( R.string.zen_mode_starred_callers)); return mContext.getString(R.string.zen_mode_starred_callers); } } else if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS) { if (!enabledCategories.contains(mContext.getString( R.string.zen_mode_all_callers))) { enabledCategories.add(mContext.getString( R.string.zen_mode_repeat_callers)); } } } if (isFirst) { return mContext.getString(R.string.zen_mode_repeat_callers); } else { return mContext.getString(R.string.zen_mode_repeat_callers_list); } return enabledCategories; } private boolean isCategoryEnabled(Policy policy, int categoryType) { return (policy.priorityCategories & categoryType) != 0; return ""; } } Loading Loading
res/values/strings.xml +24 −0 Original line number Diff line number Diff line Loading @@ -7975,9 +7975,15 @@ <!-- [CHAR LIMIT=50] Zen mode settings: All messages summary --> <string name="zen_mode_all_messages">Messages</string> <!-- [CHAR LIMIT=50] Zen mode settings: Messages option (ie: text messages) --> <string name="zen_mode_all_messages_list">messages</string> <!-- [CHAR LIMIT=50] Zen mode settings: Selected messages summary --> <string name="zen_mode_selected_messages">Some messages</string> <!-- [CHAR LIMIT=50] Zen mode settings: Selected messages (ie: some text messages are allowed to bypass dnd) --> <string name="zen_mode_selected_messages_list">some messages</string> <!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: From anyone --> <string name="zen_mode_from_anyone">From anyone</string> Loading @@ -8002,21 +8008,36 @@ <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option --> <string name="zen_mode_alarms">Alarms</string> <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option (ie: sound from alarm clock) --> <string name="zen_mode_alarms_list">alarms</string> <!-- [CHAR LIMIT=50] Zen mode settings: Media option --> <string name="zen_mode_media">Media</string> <!-- [CHAR LIMIT=50] Zen mode settings: Media (ie: sound from video) --> <string name="zen_mode_media_list">media</string> <!-- [CHAR LIMIT=50] Zen mode settings: System option which includes sounds such as touch sounds --> <string name="zen_mode_system">Touch sounds</string> <!-- [CHAR LIMIT=50] Zen mode settings: System sounds (ie: touch sounds) --> <string name="zen_mode_system_list">touch sounds</string> <!-- [CHAR LIMIT=50] Zen mode settings: Reminders option --> <string name="zen_mode_reminders">Reminders</string> <!-- [CHAR LIMIT=50] Zen mode settings: Reminders (ie: calendar reminders are allowed to bypass dnd) --> <string name="zen_mode_reminders_list">reminders</string> <!-- [CHAR LIMIT=70] Zen mode settings: Allow reminders toggle title --> <string name="zen_mode_reminders_title">Allow reminders</string> <!-- [CHAR LIMIT=50] Zen mode settings: Events option --> <string name="zen_mode_events">Events</string> <!-- [CHAR LIMIT=50] Zen mode settings: Events (ie: calendar events) --> <string name="zen_mode_events_list">events</string> <!-- [CHAR LIMIT=70] Zen mode settings: Allow events toggle title --> <string name="zen_mode_events_title">Allow events</string> Loading @@ -8032,6 +8053,9 @@ <!-- [CHAR LIMIT=50] Zen mode settings: Repeat callers option --> <string name="zen_mode_repeat_callers">Repeat callers</string> <!-- [CHAR LIMIT=50] Zen mode settings: Repeat callers (ie: repeat callers are allowed to bypass dnd) --> <string name="zen_mode_repeat_callers_list">repeat callers</string> <!-- [CHAR LIMIT=70] Zen mode settings: Allow repeat callers toggle title --> <string name="zen_mode_repeat_callers_title">Allow repeat callers</string>
src/com/android/settings/notification/ZenModeSettings.java +89 −55 Original line number Diff line number Diff line Loading @@ -119,22 +119,22 @@ public class ZenModeSettings extends ZenModeSettingsBase { List<String> enabledCategories = getEnabledCategories(policy, category -> PRIORITY_CATEGORY_ALARMS == category || PRIORITY_CATEGORY_MEDIA == category || PRIORITY_CATEGORY_SYSTEM == category); || PRIORITY_CATEGORY_SYSTEM == category, false); int numCategories = enabledCategories.size(); if (numCategories == 0) { return mContext.getString(R.string.zen_sound_all_muted); } else if (numCategories == 1) { return mContext.getString(R.string.zen_sound_one_allowed, enabledCategories.get(0).toLowerCase()); enabledCategories.get(0)); } else if (numCategories == 2) { return mContext.getString(R.string.zen_sound_two_allowed, enabledCategories.get(0).toLowerCase(), enabledCategories.get(1).toLowerCase()); enabledCategories.get(0), enabledCategories.get(1)); } else if (numCategories == 3) { return mContext.getString(R.string.zen_sound_three_allowed, enabledCategories.get(0).toLowerCase(), enabledCategories.get(1).toLowerCase(), enabledCategories.get(2).toLowerCase()); enabledCategories.get(0), enabledCategories.get(1), enabledCategories.get(2)); } else { return mContext.getString(R.string.zen_sound_none_muted); } Loading @@ -143,17 +143,17 @@ public class ZenModeSettings extends ZenModeSettingsBase { String getCallsSettingSummary(Policy policy) { List<String> enabledCategories = getEnabledCategories(policy, category -> PRIORITY_CATEGORY_CALLS == category || PRIORITY_CATEGORY_REPEAT_CALLERS == category); || PRIORITY_CATEGORY_REPEAT_CALLERS == category, false); int numCategories = enabledCategories.size(); if (numCategories == 0) { return mContext.getString(R.string.zen_mode_no_exceptions); } else if (numCategories == 1) { return mContext.getString(R.string.zen_mode_calls_summary_one, enabledCategories.get(0).toLowerCase()); enabledCategories.get(0)); } else { return mContext.getString(R.string.zen_mode_calls_summary_two, enabledCategories.get(0).toLowerCase(), enabledCategories.get(1).toLowerCase()); enabledCategories.get(0), enabledCategories.get(1)); } } Loading @@ -161,7 +161,7 @@ public class ZenModeSettings extends ZenModeSettingsBase { List<String> enabledCategories = getEnabledCategories(policy, category -> PRIORITY_CATEGORY_EVENTS == category || PRIORITY_CATEGORY_REMINDERS == category || PRIORITY_CATEGORY_MESSAGES == category); || PRIORITY_CATEGORY_MESSAGES == category, true); int numCategories = enabledCategories.size(); if (numCategories == 0) { return mContext.getString(R.string.zen_mode_no_exceptions); Loading @@ -169,19 +169,19 @@ public class ZenModeSettings extends ZenModeSettingsBase { return enabledCategories.get(0); } else if (numCategories == 2) { return mContext.getString(R.string.join_two_items, enabledCategories.get(0), enabledCategories.get(1).toLowerCase()); enabledCategories.get(1)); } else if (numCategories == 3){ final List<String> summaries = new ArrayList<>(); summaries.add(enabledCategories.get(0)); summaries.add(enabledCategories.get(1).toLowerCase()); summaries.add(enabledCategories.get(2).toLowerCase()); summaries.add(enabledCategories.get(1)); summaries.add(enabledCategories.get(2)); return ListFormatter.getInstance().format(summaries); } else { final List<String> summaries = new ArrayList<>(); summaries.add(enabledCategories.get(0)); summaries.add(enabledCategories.get(1).toLowerCase()); summaries.add(enabledCategories.get(2).toLowerCase()); summaries.add(enabledCategories.get(1)); summaries.add(enabledCategories.get(2)); summaries.add(mContext.getString(R.string.zen_mode_other_options)); return ListFormatter.getInstance().format(summaries); Loading Loading @@ -251,55 +251,89 @@ public class ZenModeSettings extends ZenModeSettingsBase { } private List<String> getEnabledCategories(Policy policy, Predicate<Integer> filteredCategories) { Predicate<Integer> filteredCategories, boolean capitalizeFirstInList) { List<String> enabledCategories = new ArrayList<>(); for (int category : ALL_PRIORITY_CATEGORIES) { boolean isFirst = capitalizeFirstInList && enabledCategories.isEmpty(); if (filteredCategories.test(category) && isCategoryEnabled(policy, category)) { if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS && isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_CALLS) && policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) { continue; } enabledCategories.add(getCategory(category, policy, isFirst)); } } return enabledCategories; } private boolean isCategoryEnabled(Policy policy, int categoryType) { return (policy.priorityCategories & categoryType) != 0; } private String getCategory(int category, Policy policy, boolean isFirst) { if (category == PRIORITY_CATEGORY_ALARMS) { enabledCategories.add(mContext.getString(R.string.zen_mode_alarms)); if (isFirst) { return mContext.getString(R.string.zen_mode_alarms); } else { return mContext.getString(R.string.zen_mode_alarms_list); } } else if (category == PRIORITY_CATEGORY_MEDIA) { enabledCategories.add(mContext.getString( R.string.zen_mode_media)); if (isFirst) { return mContext.getString(R.string.zen_mode_media); } else { return mContext.getString(R.string.zen_mode_media_list); } } else if (category == PRIORITY_CATEGORY_SYSTEM) { enabledCategories.add(mContext.getString( R.string.zen_mode_system)); if (isFirst) { return mContext.getString(R.string.zen_mode_system); } else { return mContext.getString(R.string.zen_mode_system_list); } } else if (category == Policy.PRIORITY_CATEGORY_MESSAGES) { if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) { enabledCategories.add(mContext.getString( R.string.zen_mode_all_messages)); if (isFirst) { return mContext.getString(R.string.zen_mode_all_messages); } else { return mContext.getString(R.string.zen_mode_all_messages_list); } } else { if (isFirst) { return mContext.getString(R.string.zen_mode_selected_messages); } else { enabledCategories.add(mContext.getString( R.string.zen_mode_selected_messages)); return mContext.getString(R.string.zen_mode_selected_messages_list); } } } else if (category == Policy.PRIORITY_CATEGORY_EVENTS) { enabledCategories.add(mContext.getString(R.string.zen_mode_events)); if (isFirst) { return mContext.getString(R.string.zen_mode_events); } else { return mContext.getString(R.string.zen_mode_events_list); } } else if (category == Policy.PRIORITY_CATEGORY_REMINDERS) { enabledCategories.add(mContext.getString(R.string.zen_mode_reminders)); if (isFirst) { return mContext.getString(R.string.zen_mode_reminders); } else { return mContext.getString(R.string.zen_mode_reminders_list); } } else if (category == Policy.PRIORITY_CATEGORY_CALLS) { if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) { enabledCategories.add(mContext.getString( R.string.zen_mode_all_callers)); return mContext.getString(R.string.zen_mode_all_callers); } else if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_CONTACTS){ enabledCategories.add(mContext.getString( R.string.zen_mode_contacts_callers)); return mContext.getString(R.string.zen_mode_contacts_callers); } else { enabledCategories.add(mContext.getString( R.string.zen_mode_starred_callers)); return mContext.getString(R.string.zen_mode_starred_callers); } } else if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS) { if (!enabledCategories.contains(mContext.getString( R.string.zen_mode_all_callers))) { enabledCategories.add(mContext.getString( R.string.zen_mode_repeat_callers)); } } } if (isFirst) { return mContext.getString(R.string.zen_mode_repeat_callers); } else { return mContext.getString(R.string.zen_mode_repeat_callers_list); } return enabledCategories; } private boolean isCategoryEnabled(Policy policy, int categoryType) { return (policy.priorityCategories & categoryType) != 0; return ""; } } Loading