Loading res/values/strings.xml +23 −17 Original line number Diff line number Diff line Loading @@ -176,23 +176,29 @@ <item>Alarm set for <xliff:g id="DAYS" example="2 days">%1$s</xliff:g>, <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g>, and <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> from now.</item> </string-array> <!-- Alarm confirmation toast: singular day --> <string name="day">"1 day"</string> <!-- Alarm confirmation toast: plural days --> <string name="days">"<xliff:g id="days">%s</xliff:g> days"</string> <!-- Alarm confirmation toast: singular hour --> <string name="hour">1 hour</string> <!-- Alarm confirmation toast: plural hours --> <string name="hours"><xliff:g id="hours">%s</xliff:g> hours</string> <!-- Alarm confirmation toast: days --> <plurals name="days"> <!-- Duration for one day --> <item quantity="one">1 day</item> <!-- Duration for more than one day --> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> days</item> </plurals> <!-- Alarm confirmation toast: singular minute --> <string name="minute">"1 minute"</string> <!-- Alarm confirmation toast and timer notification: hours --> <plurals name="hours"> <!-- Duration for one hour --> <item quantity="one">1 hour</item> <!-- Duration for more than one hour --> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> hours</item> </plurals> <!-- Alarm confirmation toast: plural minutes --> <string name="minutes">"<xliff:g id="minutes">%s</xliff:g> minutes"</string> <!-- Alarm confirmation toast and timer notification: minutes --> <plurals name="minutes"> <!-- Duration for one minute --> <item quantity="one">1 minute</item> <!-- Duration for more than one minute --> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> minutes</item> </plurals> <!-- Repeat options that appear under an alarm on main Alarm Clock screen to identify repetition schedule: special case for when Loading Loading @@ -225,7 +231,7 @@ <!-- Duration for one minute --> <item quantity="one">1 minute</item> <!-- Duration for more than one minute --> <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> minutes</item> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> minutes</item> </plurals> <plurals name="snooze_picker_label"> Loading @@ -243,7 +249,7 @@ <!-- Duration for one minute --> <item quantity="one">1 minute</item> <!-- Duration for more than one minute --> <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> minutes</item> <item quantity="other"><xliff:g id="formatted_number" example="7">%s</xliff:g> minutes</item> </plurals> Loading src/com/android/deskclock/AlarmUtils.java +8 −15 Original line number Diff line number Diff line Loading @@ -116,27 +116,20 @@ public class AlarmUtils { } /** * format "Alarm set for 2 days 7 hours and 53 minutes from * now" * format "Alarm set for 2 days 7 hours and 53 minutes from now" */ private static String formatToast(Context context, long timeInMillis) { long delta = timeInMillis - System.currentTimeMillis(); long hours = delta / (1000 * 60 * 60); long minutes = delta / (1000 * 60) % 60; long days = hours / 24; final long delta = timeInMillis - System.currentTimeMillis(); int hours = (int) delta / (1000 * 60 * 60); final int minutes = (int) delta / (1000 * 60) % 60; final int days = hours / 24; hours = hours % 24; String daySeq = (days == 0) ? "" : (days == 1) ? context.getString(R.string.day) : context.getString(R.string.days, Long.toString(days)); String daySeq = Utils.getNumberFormattedQuantityString(context, R.plurals.days, days); String minSeq = (minutes == 0) ? "" : (minutes == 1) ? context.getString(R.string.minute) : context.getString(R.string.minutes, Long.toString(minutes)); String minSeq = Utils.getNumberFormattedQuantityString(context, R.plurals.minutes, minutes); String hourSeq = (hours == 0) ? "" : (hours == 1) ? context.getString(R.string.hour) : context.getString(R.string.hours, Long.toString(hours)); String hourSeq = Utils.getNumberFormattedQuantityString(context, R.plurals.hours, hours); boolean dispDays = days > 0; boolean dispHour = hours > 0; Loading src/com/android/deskclock/SettingsActivity.java +2 −2 Original line number Diff line number Diff line Loading @@ -249,8 +249,8 @@ public class SettingsActivity extends BaseActivity { if (i == -1) { listPref.setSummary(R.string.auto_silence_never); } else { listPref.setSummary(getResources().getQuantityString(R.plurals.auto_silence_summary, i, i)); listPref.setSummary(Utils.getNumberFormattedQuantityString(getContext(), R.plurals.auto_silence_summary, i)); } } Loading src/com/android/deskclock/SnoozeLengthDialog.java +2 −2 Original line number Diff line number Diff line Loading @@ -90,8 +90,8 @@ public class SnoozeLengthDialog extends DialogPreference { } public void setSummary() { setSummary(mContext.getResources().getQuantityString(R.plurals.snooze_duration, mSnoozeMinutes, mSnoozeMinutes)); setSummary(Utils.getNumberFormattedQuantityString(mContext, R.plurals.snooze_duration, mSnoozeMinutes)); } public int getCurrentValue() { Loading src/com/android/deskclock/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ import com.android.deskclock.stopwatch.Stopwatches; import com.android.deskclock.timer.Timers; import com.android.deskclock.worldclock.CityObj; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; Loading Loading @@ -708,4 +709,15 @@ public class Utils { // Track the Locale used to generate these weekdays sLocaleUsedForWeekdays = Locale.getDefault(); } /** * @param context * @param id Resource id of the plural * @param quantity integer value * @return string with properly localized numbers */ public static String getNumberFormattedQuantityString(Context context, int id, int quantity) { final String localizedQuantity = NumberFormat.getInstance().format(quantity); return context.getResources().getQuantityString(id, quantity, localizedQuantity); } } Loading
res/values/strings.xml +23 −17 Original line number Diff line number Diff line Loading @@ -176,23 +176,29 @@ <item>Alarm set for <xliff:g id="DAYS" example="2 days">%1$s</xliff:g>, <xliff:g id="HOURS" example="2 hours">%2$s</xliff:g>, and <xliff:g id="MINUTES" example="2 minutes">%3$s</xliff:g> from now.</item> </string-array> <!-- Alarm confirmation toast: singular day --> <string name="day">"1 day"</string> <!-- Alarm confirmation toast: plural days --> <string name="days">"<xliff:g id="days">%s</xliff:g> days"</string> <!-- Alarm confirmation toast: singular hour --> <string name="hour">1 hour</string> <!-- Alarm confirmation toast: plural hours --> <string name="hours"><xliff:g id="hours">%s</xliff:g> hours</string> <!-- Alarm confirmation toast: days --> <plurals name="days"> <!-- Duration for one day --> <item quantity="one">1 day</item> <!-- Duration for more than one day --> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> days</item> </plurals> <!-- Alarm confirmation toast: singular minute --> <string name="minute">"1 minute"</string> <!-- Alarm confirmation toast and timer notification: hours --> <plurals name="hours"> <!-- Duration for one hour --> <item quantity="one">1 hour</item> <!-- Duration for more than one hour --> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> hours</item> </plurals> <!-- Alarm confirmation toast: plural minutes --> <string name="minutes">"<xliff:g id="minutes">%s</xliff:g> minutes"</string> <!-- Alarm confirmation toast and timer notification: minutes --> <plurals name="minutes"> <!-- Duration for one minute --> <item quantity="one">1 minute</item> <!-- Duration for more than one minute --> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> minutes</item> </plurals> <!-- Repeat options that appear under an alarm on main Alarm Clock screen to identify repetition schedule: special case for when Loading Loading @@ -225,7 +231,7 @@ <!-- Duration for one minute --> <item quantity="one">1 minute</item> <!-- Duration for more than one minute --> <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> minutes</item> <item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> minutes</item> </plurals> <plurals name="snooze_picker_label"> Loading @@ -243,7 +249,7 @@ <!-- Duration for one minute --> <item quantity="one">1 minute</item> <!-- Duration for more than one minute --> <item quantity="other"><xliff:g id="number" example="7">%d</xliff:g> minutes</item> <item quantity="other"><xliff:g id="formatted_number" example="7">%s</xliff:g> minutes</item> </plurals> Loading
src/com/android/deskclock/AlarmUtils.java +8 −15 Original line number Diff line number Diff line Loading @@ -116,27 +116,20 @@ public class AlarmUtils { } /** * format "Alarm set for 2 days 7 hours and 53 minutes from * now" * format "Alarm set for 2 days 7 hours and 53 minutes from now" */ private static String formatToast(Context context, long timeInMillis) { long delta = timeInMillis - System.currentTimeMillis(); long hours = delta / (1000 * 60 * 60); long minutes = delta / (1000 * 60) % 60; long days = hours / 24; final long delta = timeInMillis - System.currentTimeMillis(); int hours = (int) delta / (1000 * 60 * 60); final int minutes = (int) delta / (1000 * 60) % 60; final int days = hours / 24; hours = hours % 24; String daySeq = (days == 0) ? "" : (days == 1) ? context.getString(R.string.day) : context.getString(R.string.days, Long.toString(days)); String daySeq = Utils.getNumberFormattedQuantityString(context, R.plurals.days, days); String minSeq = (minutes == 0) ? "" : (minutes == 1) ? context.getString(R.string.minute) : context.getString(R.string.minutes, Long.toString(minutes)); String minSeq = Utils.getNumberFormattedQuantityString(context, R.plurals.minutes, minutes); String hourSeq = (hours == 0) ? "" : (hours == 1) ? context.getString(R.string.hour) : context.getString(R.string.hours, Long.toString(hours)); String hourSeq = Utils.getNumberFormattedQuantityString(context, R.plurals.hours, hours); boolean dispDays = days > 0; boolean dispHour = hours > 0; Loading
src/com/android/deskclock/SettingsActivity.java +2 −2 Original line number Diff line number Diff line Loading @@ -249,8 +249,8 @@ public class SettingsActivity extends BaseActivity { if (i == -1) { listPref.setSummary(R.string.auto_silence_never); } else { listPref.setSummary(getResources().getQuantityString(R.plurals.auto_silence_summary, i, i)); listPref.setSummary(Utils.getNumberFormattedQuantityString(getContext(), R.plurals.auto_silence_summary, i)); } } Loading
src/com/android/deskclock/SnoozeLengthDialog.java +2 −2 Original line number Diff line number Diff line Loading @@ -90,8 +90,8 @@ public class SnoozeLengthDialog extends DialogPreference { } public void setSummary() { setSummary(mContext.getResources().getQuantityString(R.plurals.snooze_duration, mSnoozeMinutes, mSnoozeMinutes)); setSummary(Utils.getNumberFormattedQuantityString(mContext, R.plurals.snooze_duration, mSnoozeMinutes)); } public int getCurrentValue() { Loading
src/com/android/deskclock/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ import com.android.deskclock.stopwatch.Stopwatches; import com.android.deskclock.timer.Timers; import com.android.deskclock.worldclock.CityObj; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; Loading Loading @@ -708,4 +709,15 @@ public class Utils { // Track the Locale used to generate these weekdays sLocaleUsedForWeekdays = Locale.getDefault(); } /** * @param context * @param id Resource id of the plural * @param quantity integer value * @return string with properly localized numbers */ public static String getNumberFormattedQuantityString(Context context, int id, int quantity) { final String localizedQuantity = NumberFormat.getInstance().format(quantity); return context.getResources().getQuantityString(id, quantity, localizedQuantity); } }