diff options
| author | Roozbeh Pournader <roozbeh@google.com> | 2017-11-14 19:20:07 -0800 |
|---|---|---|
| committer | Roozbeh Pournader <roozbeh@google.com> | 2017-11-15 16:19:35 -0800 |
| commit | 2e97386d9db1616134d9c76d19563028ffdcc66e (patch) | |
| tree | fee7579100699cb8423a9160163f917151185604 /core/java/android | |
| parent | fcd996cc36cd45ad45b0fb634308d776f9647c03 (diff) | |
Drop the second unit from elapsed time if zero
Previously, we could get formatted strings like "1h 0min" which is
unnecessarily complex for users. Replace such cases with "1 h" if
the second unit is zero.
Fixes: 65426298
Test: bit FrameworksCoreTests:android.text.format.FormatterTest
Change-Id: I1d9828ec97f2cbfb7ce27c266a04d4c02b090d6d
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/text/format/Formatter.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/java/android/text/format/Formatter.java b/core/java/android/text/format/Formatter.java index 2c83fc4d9049..8c90156d159d 100644 --- a/core/java/android/text/format/Formatter.java +++ b/core/java/android/text/format/Formatter.java @@ -355,21 +355,21 @@ public final class Formatter { final Locale locale = localeFromContext(context); final MeasureFormat measureFormat = MeasureFormat.getInstance( locale, MeasureFormat.FormatWidth.SHORT); - if (days >= 2) { + if (days >= 2 || (days > 0 && hours == 0)) { days += (hours+12)/24; return measureFormat.format(new Measure(days, MeasureUnit.DAY)); } else if (days > 0) { return measureFormat.formatMeasures( new Measure(days, MeasureUnit.DAY), new Measure(hours, MeasureUnit.HOUR)); - } else if (hours >= 2) { + } else if (hours >= 2 || (hours > 0 && minutes == 0)) { hours += (minutes+30)/60; return measureFormat.format(new Measure(hours, MeasureUnit.HOUR)); } else if (hours > 0) { return measureFormat.formatMeasures( new Measure(hours, MeasureUnit.HOUR), new Measure(minutes, MeasureUnit.MINUTE)); - } else if (minutes >= 2) { + } else if (minutes >= 2 || (minutes > 0 && seconds == 0)) { minutes += (seconds+30)/60; return measureFormat.format(new Measure(minutes, MeasureUnit.MINUTE)); } else if (minutes > 0) { |
