Loading core/java/android/text/format/Formatter.java +21 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,7 @@ public final class Formatter { private static final int SECONDS_PER_MINUTE = 60; private static final int SECONDS_PER_HOUR = 60 * 60; private static final int SECONDS_PER_DAY = 24 * 60 * 60; private static final int MILLIS_PER_MINUTE = 1000 * 60; /** * Returns elapsed time for the given millis, in the following format: Loading Loading @@ -171,4 +172,24 @@ public final class Formatter { return context.getString(com.android.internal.R.string.durationSeconds, seconds); } } /** * Returns elapsed time for the given millis, in the following format: * 1 day 5 hrs; will include at most two units, can go down to minutes precision. * @param context the application context * @param millis the elapsed time in milli seconds * @return the formatted elapsed time * @hide */ public static String formatShortElapsedTimeRoundingUpToMinutes(Context context, long millis) { long minutesRoundedUp = (millis + MILLIS_PER_MINUTE - 1) / MILLIS_PER_MINUTE; if (minutesRoundedUp == 0) { return context.getString(com.android.internal.R.string.durationMinutes, 0); } else if (minutesRoundedUp == 1) { return context.getString(com.android.internal.R.string.durationMinute, 1); } return formatShortElapsedTime(context, minutesRoundedUp * MILLIS_PER_MINUTE); } } core/res/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,9 @@ <!-- [CHAR_LIMIT=10] Suffix added to signify duration in minutes --> <string name="durationMinutes"><xliff:g id="minutes">%1$d</xliff:g> mins</string> <!-- [CHAR_LIMIT=10] Suffix added to signify duration of one minute --> <string name="durationMinute"><xliff:g id="minutes">%1$d</xliff:g> min</string> <!-- [CHAR_LIMIT=10] Suffix added to signify duration of one minute with seconds --> <string name="durationMinuteSeconds"><xliff:g id="minutes">%1$d</xliff:g> min <xliff:g id="seconds">%2$d</xliff:g> secs</string> Loading core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -574,6 +574,7 @@ <java-symbol type="string" name="durationHourMinutes" /> <java-symbol type="string" name="durationHourMinute" /> <java-symbol type="string" name="durationMinutes" /> <java-symbol type="string" name="durationMinute" /> <java-symbol type="string" name="durationMinuteSeconds" /> <java-symbol type="string" name="durationMinuteSecond" /> <java-symbol type="string" name="durationSeconds" /> Loading packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +2 −2 Original line number Diff line number Diff line Loading @@ -146,8 +146,8 @@ public class KeyguardIndicationController { try { long chargingTimeRemaining = mBatteryInfo.computeChargeTimeRemaining(); if (chargingTimeRemaining > 0) { String chargingTimeFormatted = Formatter.formatShortElapsedTime(mContext, chargingTimeRemaining); String chargingTimeFormatted = Formatter.formatShortElapsedTimeRoundingUpToMinutes( mContext, chargingTimeRemaining); return mContext.getResources().getString( R.string.keyguard_indication_charging_time, chargingTimeFormatted); } Loading Loading
core/java/android/text/format/Formatter.java +21 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,7 @@ public final class Formatter { private static final int SECONDS_PER_MINUTE = 60; private static final int SECONDS_PER_HOUR = 60 * 60; private static final int SECONDS_PER_DAY = 24 * 60 * 60; private static final int MILLIS_PER_MINUTE = 1000 * 60; /** * Returns elapsed time for the given millis, in the following format: Loading Loading @@ -171,4 +172,24 @@ public final class Formatter { return context.getString(com.android.internal.R.string.durationSeconds, seconds); } } /** * Returns elapsed time for the given millis, in the following format: * 1 day 5 hrs; will include at most two units, can go down to minutes precision. * @param context the application context * @param millis the elapsed time in milli seconds * @return the formatted elapsed time * @hide */ public static String formatShortElapsedTimeRoundingUpToMinutes(Context context, long millis) { long minutesRoundedUp = (millis + MILLIS_PER_MINUTE - 1) / MILLIS_PER_MINUTE; if (minutesRoundedUp == 0) { return context.getString(com.android.internal.R.string.durationMinutes, 0); } else if (minutesRoundedUp == 1) { return context.getString(com.android.internal.R.string.durationMinute, 1); } return formatShortElapsedTime(context, minutesRoundedUp * MILLIS_PER_MINUTE); } }
core/res/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,9 @@ <!-- [CHAR_LIMIT=10] Suffix added to signify duration in minutes --> <string name="durationMinutes"><xliff:g id="minutes">%1$d</xliff:g> mins</string> <!-- [CHAR_LIMIT=10] Suffix added to signify duration of one minute --> <string name="durationMinute"><xliff:g id="minutes">%1$d</xliff:g> min</string> <!-- [CHAR_LIMIT=10] Suffix added to signify duration of one minute with seconds --> <string name="durationMinuteSeconds"><xliff:g id="minutes">%1$d</xliff:g> min <xliff:g id="seconds">%2$d</xliff:g> secs</string> Loading
core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -574,6 +574,7 @@ <java-symbol type="string" name="durationHourMinutes" /> <java-symbol type="string" name="durationHourMinute" /> <java-symbol type="string" name="durationMinutes" /> <java-symbol type="string" name="durationMinute" /> <java-symbol type="string" name="durationMinuteSeconds" /> <java-symbol type="string" name="durationMinuteSecond" /> <java-symbol type="string" name="durationSeconds" /> Loading
packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +2 −2 Original line number Diff line number Diff line Loading @@ -146,8 +146,8 @@ public class KeyguardIndicationController { try { long chargingTimeRemaining = mBatteryInfo.computeChargeTimeRemaining(); if (chargingTimeRemaining > 0) { String chargingTimeFormatted = Formatter.formatShortElapsedTime(mContext, chargingTimeRemaining); String chargingTimeFormatted = Formatter.formatShortElapsedTimeRoundingUpToMinutes( mContext, chargingTimeRemaining); return mContext.getResources().getString( R.string.keyguard_indication_charging_time, chargingTimeFormatted); } Loading