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" />