Separate dnd categories in a list

For translations purposes, separate strings that are the first element
in a list of sound categories from the stand alone category titles.

Test: manual
Bug: 154694384
Change-Id: I1ba5a487f179103ccfa881fdc57b10b6ec2560ad
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 162d9a7..e8d67e7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -9019,8 +9019,10 @@
     <string name="zen_mode_alarms">Alarms</string>
     <!-- [CHAR LIMIT=NONE] Zen mode settings: Allow alarms summary -->
     <string name="zen_mode_alarms_summary">From timers, alarms, security systems, and other apps</string>
-    <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option (ie: sound from alarm clock) -->
+    <!-- [CHAR LIMIT=50] Zen mode settings: Alarms list option (ie: sound from alarm clock) -->
     <string name="zen_mode_alarms_list">alarms</string>
+    <!-- [CHAR LIMIT=50] Zen mode settings: Alarms (ie: sound from alarm clock) category in a list of sounds that can bypass DND when alarms is the first or only element in the list. For example "Alarms can interrupt" or "Alarms and media can interrupt" -->
+    <string name="zen_mode_alarms_list_first">Alarms</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow media (sound from video) to bypass dnd -->
     <string name="zen_mode_media">Media sounds</string>
@@ -9028,6 +9030,8 @@
     <string name="zen_mode_media_summary">Sounds from videos, games, and other 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: Media (ie: sound from video) category in a list of sounds when media is the first or only element in the list. For example "Media can interrupt" or "Media and touch sounds can interrupt" -->
+    <string name="zen_mode_media_list_first">Media</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: allow touch sounds to bypass DND  -->
     <string name="zen_mode_system">Touch sounds</string>
@@ -9035,6 +9039,8 @@
     <string name="zen_mode_system_summary">Sounds from the keyboard and other buttons</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: System sounds (ie: touch sounds) category in a list of sounds that can bypass DND when touch sounds is the first or only element in the list. For example "Touch sounds can interrupt" or "Touch sounds and events can interrupt" -->
+    <string name="zen_mode_system_list_first">Touch sounds</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow reminder notifications/sounds to bypass DND  -->
     <string name="zen_mode_reminders">Reminders</string>
@@ -9042,6 +9048,8 @@
     <string name="zen_mode_reminders_summary">From tasks and 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=50] Zen mode settings: Reminders (ie: calendar reminders) category in a list of elements that can bypass DND where reminders is the first or only element in the list. For example, "Reminds can interrupt” or "Reminders and events can interrupt” -->
+    <string name="zen_mode_reminders_list_first">Reminders</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow event notifications/sounds to bypass DND -->
     <string name="zen_mode_events">Calendar events</string>
@@ -9049,6 +9057,8 @@
     <string name="zen_mode_events_summary">From upcoming calendar events</string>
     <!-- [CHAR LIMIT=50] Zen mode settings: Events (ie: calendar events) -->
     <string name="zen_mode_events_list">events</string>
+    <!-- [CHAR LIMIT=50] Zen mode settings: Events (ie: calendar events) category in a list of sounds when events is the first or only element in the list. For example “Events can interrupt" or “Events and touch sounds can interrupt" -->
+    <string name="zen_mode_events_list_first">Events</string>
 
     <!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND -->
     <string name="zen_mode_bypassing_apps">Allow apps to override</string>
diff --git a/src/com/android/settings/notification/zen/ZenModeSettings.java b/src/com/android/settings/notification/zen/ZenModeSettings.java
index 7f9a431..3e59203 100644
--- a/src/com/android/settings/notification/zen/ZenModeSettings.java
+++ b/src/com/android/settings/notification/zen/ZenModeSettings.java
@@ -265,19 +265,19 @@
         private String getCategory(int category, Policy policy, boolean isFirst) {
             if (category == PRIORITY_CATEGORY_ALARMS) {
                 if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_alarms);
+                    return mContext.getString(R.string.zen_mode_alarms_list_first);
                 } else {
                     return mContext.getString(R.string.zen_mode_alarms_list);
                 }
             } else if (category == PRIORITY_CATEGORY_MEDIA) {
                 if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_media);
+                    return mContext.getString(R.string.zen_mode_media_list_first);
                 } else {
                     return mContext.getString(R.string.zen_mode_media_list);
                 }
             } else if (category == PRIORITY_CATEGORY_SYSTEM) {
                 if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_system);
+                    return mContext.getString(R.string.zen_mode_system_list_first);
                 } else {
                     return mContext.getString(R.string.zen_mode_system_list);
                 }
@@ -291,13 +291,13 @@
                 }
             } else if (category == Policy.PRIORITY_CATEGORY_EVENTS) {
                 if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_events);
+                    return mContext.getString(R.string.zen_mode_events_list_first);
                 } else {
                     return mContext.getString(R.string.zen_mode_events_list);
                 }
             } else if (category == Policy.PRIORITY_CATEGORY_REMINDERS) {
                 if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_reminders);
+                    return mContext.getString(R.string.zen_mode_reminders_list_first);
                 } else {
                     return mContext.getString(R.string.zen_mode_reminders_list);
                 }