diff options
| -rw-r--r-- | core/java/android/service/notification/ZenModeConfig.java | 32 | ||||
| -rw-r--r-- | core/res/res/values/strings.xml | 72 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 16 |
3 files changed, 68 insertions, 52 deletions
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java index c1d5a28aa349..1556d2533080 100644 --- a/core/java/android/service/notification/ZenModeConfig.java +++ b/core/java/android/service/notification/ZenModeConfig.java @@ -46,6 +46,7 @@ import android.text.TextUtils; 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.Arrays; 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 @@ public class ZenModeConfig implements Parcelable { 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 2879759db521..7eee6e3cddcb 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 a4b5d3caaabf..9ec1810f7cb5 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" /> |