Clean <plurals> in ZenModeConfig

Bug: 199230228
Test: make
Change-Id: I712f984b440043360b8f5fc6c6613c752bb2a2dd
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java
index c1d5a28..1556d25 100644
--- a/core/java/android/service/notification/ZenModeConfig.java
+++ b/core/java/android/service/notification/ZenModeConfig.java
@@ -46,6 +46,7 @@
 import android.text.format.DateFormat;
 import android.util.ArrayMap;
 import android.util.ArraySet;
+import android.util.PluralsMessageFormatter;
 import android.util.Slog;
 import android.util.TypedXmlPullParser;
 import android.util.TypedXmlSerializer;
@@ -63,8 +64,10 @@
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 import java.util.Objects;
 import java.util.TimeZone;
 import java.util.UUID;
@@ -1333,25 +1336,30 @@
         final CharSequence formattedTime =
                 getFormattedTime(context, time, isToday(time), userHandle);
         final Resources res = context.getResources();
+        final Map<String, Object> arguments = new HashMap<>();
         if (minutes < 60) {
             // display as minutes
             num = minutes;
-            int summaryResId = shortVersion ? R.plurals.zen_mode_duration_minutes_summary_short
-                    : R.plurals.zen_mode_duration_minutes_summary;
-            summary = res.getQuantityString(summaryResId, num, num, formattedTime);
-            int line1ResId = shortVersion ? R.plurals.zen_mode_duration_minutes_short
-                    : R.plurals.zen_mode_duration_minutes;
-            line1 = res.getQuantityString(line1ResId, num, num, formattedTime);
+            int summaryResId = shortVersion ? R.string.zen_mode_duration_minutes_summary_short
+                    : R.string.zen_mode_duration_minutes_summary;
+            arguments.put("count", num);
+            arguments.put("formattedTime", formattedTime);
+            summary = PluralsMessageFormatter.format(res, arguments, summaryResId);
+            int line1ResId = shortVersion ? R.string.zen_mode_duration_minutes_short
+                    : R.string.zen_mode_duration_minutes;
+            line1 = PluralsMessageFormatter.format(res, arguments, line1ResId);
             line2 = res.getString(R.string.zen_mode_until, formattedTime);
         } else if (minutes < DAY_MINUTES) {
             // display as hours
             num =  Math.round(minutes / 60f);
-            int summaryResId = shortVersion ? R.plurals.zen_mode_duration_hours_summary_short
-                    : R.plurals.zen_mode_duration_hours_summary;
-            summary = res.getQuantityString(summaryResId, num, num, formattedTime);
-            int line1ResId = shortVersion ? R.plurals.zen_mode_duration_hours_short
-                    : R.plurals.zen_mode_duration_hours;
-            line1 = res.getQuantityString(line1ResId, num, num, formattedTime);
+            int summaryResId = shortVersion ? R.string.zen_mode_duration_hours_summary_short
+                    : R.string.zen_mode_duration_hours_summary;
+            arguments.put("count", num);
+            arguments.put("formattedTime", formattedTime);
+            summary = PluralsMessageFormatter.format(res, arguments, summaryResId);
+            int line1ResId = shortVersion ? R.string.zen_mode_duration_hours_short
+                    : R.string.zen_mode_duration_hours;
+            line1 = PluralsMessageFormatter.format(res, arguments, line1ResId);
             line2 = res.getString(R.string.zen_mode_until, formattedTime);
         } else {
             // display as day/time
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 2879759..7eee6e3 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -5197,52 +5197,60 @@
     <string name="data_saver_enable_button">Turn on</string>
 
     <!-- Zen mode condition - summary: time duration in minutes. [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_minutes_summary">
-        <item quantity="one">For one minute (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-        <item quantity="other">For %1$d minutes (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-    </plurals>
+    <string name="zen_mode_duration_minutes_summary">{count, plural,
+        =1    {For one minute (until {formattedTime})}
+        other {For # minutes (until {formattedTime})}
+    }
+    </string>
 
     <!-- Zen mode condition - summary: time duration in minutes (short version). [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_minutes_summary_short">
-        <item quantity="one">For 1 min (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-        <item quantity="other">For %1$d min (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-    </plurals>
+    <string name="zen_mode_duration_minutes_summary_short">{count, plural,
+        =1    {For 1 min (until {formattedTime})}
+        other {For # min (until {formattedTime})}
+    }
+    </string>
 
     <!-- Zen mode condition - summary: time duration in hours. [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_hours_summary">
-        <item quantity="one">For 1 hour (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-        <item quantity="other">For %1$d hours (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-    </plurals>
+    <string name="zen_mode_duration_hours_summary">{count, plural,
+        =1    {For 1 hour (until {formattedTime})}
+        other {For # hours (until {formattedTime})}
+    }
+    </string>
 
     <!-- Zen mode condition - summary: time duration in hours (short version). [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_hours_summary_short">
-        <item quantity="one">For 1 hr (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-        <item quantity="other">For %1$d hr (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
-    </plurals>
+    <string name="zen_mode_duration_hours_summary_short">{count, plural,
+        =1    {For 1 hr (until {formattedTime})}
+        other {For # hr (until {formattedTime})}
+    }
+    </string>
 
     <!-- Zen mode condition - line one: time duration in minutes. [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_minutes">
-        <item quantity="one">For one minute</item>
-        <item quantity="other">For %d minutes</item>
-    </plurals>
+    <string name="zen_mode_duration_minutes">{count, plural,
+        =1    {For one minute}
+        other {For # minutes}
+    }
+    </string>
 
     <!-- Zen mode condition - line one: time duration in minutes (short version). [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_minutes_short">
-        <item quantity="one">For 1 min</item>
-        <item quantity="other">For %d min</item>
-    </plurals>
+    <string name="zen_mode_duration_minutes_short">{count, plural,
+        =1    {For 1 min}
+        other {For # min}
+    }
+    </string>
 
     <!-- Zen mode condition - line one: time duration in hours. [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_hours">
-        <item quantity="one">For 1 hour</item>
-        <item quantity="other">For %d hours</item>
-    </plurals>
+    <string name="zen_mode_duration_hours">{count, plural,
+        =1    {For 1 hour}
+        other {For # hours}
+    }
+    </string>
 
     <!-- Zen mode condition - line one: time duration in hours (short version). [CHAR LIMIT=NONE] -->
-    <plurals name="zen_mode_duration_hours_short">
-        <item quantity="one">For 1 hr</item>
-        <item quantity="other">For %d hr</item>
-    </plurals>
+    <string name="zen_mode_duration_hours_short">{count, plural,
+        =1    {For 1 hr}
+        other {For # hr}
+    }
+    </string>
 
     <!-- Zen mode condition - line two: ending time indicating the next day. [CHAR LIMIT=NONE] -->
     <string name="zen_mode_until_next_day">Until <xliff:g id="formattedTime" example="Tue, 10 PM">%1$s</xliff:g></string>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index a4b5d3c..9ec1810 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2489,14 +2489,14 @@
   <java-symbol type="string" name="zen_mode_forever" />
   <java-symbol type="string" name="zen_mode_forever_dnd" />
   <java-symbol type="string" name="zen_mode_rule_name_combination" />
-  <java-symbol type="plurals" name="zen_mode_duration_minutes" />
-  <java-symbol type="plurals" name="zen_mode_duration_hours" />
-  <java-symbol type="plurals" name="zen_mode_duration_minutes_summary" />
-  <java-symbol type="plurals" name="zen_mode_duration_hours_summary" />
-  <java-symbol type="plurals" name="zen_mode_duration_minutes_short" />
-  <java-symbol type="plurals" name="zen_mode_duration_hours_short" />
-  <java-symbol type="plurals" name="zen_mode_duration_minutes_summary_short" />
-  <java-symbol type="plurals" name="zen_mode_duration_hours_summary_short" />
+  <java-symbol type="string" name="zen_mode_duration_minutes" />
+  <java-symbol type="string" name="zen_mode_duration_hours" />
+  <java-symbol type="string" name="zen_mode_duration_minutes_summary" />
+  <java-symbol type="string" name="zen_mode_duration_hours_summary" />
+  <java-symbol type="string" name="zen_mode_duration_minutes_short" />
+  <java-symbol type="string" name="zen_mode_duration_hours_short" />
+  <java-symbol type="string" name="zen_mode_duration_minutes_summary_short" />
+  <java-symbol type="string" name="zen_mode_duration_hours_summary_short" />
   <java-symbol type="string" name="zen_mode_until_next_day" />
   <java-symbol type="string" name="zen_mode_until" />
   <java-symbol type="string" name="zen_mode_feature_name" />