From df366319da1adc1af0bef2ad9c6cc6463895203f Mon Sep 17 00:00:00 2001 From: Roozbeh Pournader Date: Thu, 15 Dec 2016 14:35:59 -0800 Subject: Remove duration_hours etc and use ICU data The ICU data is higher quality and supports a wider selection of locales. Also, previously spaces were used to separate the fields, which is not the correct separator in some locales. Bug: 33670388 Test: manual Change-Id: I99715dba63478a5bb319da041d1736ad247f2be1 --- InCallUI/res/values/strings.xml | 16 ------- .../src/com/android/incallui/CallCardFragment.java | 2 +- .../src/com/android/incallui/InCallDateUtils.java | 49 ++++++++++------------ 3 files changed, 24 insertions(+), 43 deletions(-) (limited to 'InCallUI') diff --git a/InCallUI/res/values/strings.xml b/InCallUI/res/values/strings.xml index d18c893ad..92de14042 100644 --- a/InCallUI/res/values/strings.xml +++ b/InCallUI/res/values/strings.xml @@ -472,22 +472,6 @@ Emergency number - - - 1 second - %d seconds - - - - 1 minute - %d minutes - - - - 1 hour - %d hours - - Profile photo diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java index 4355ef2bd..c2022d18c 100644 --- a/InCallUI/src/com/android/incallui/CallCardFragment.java +++ b/InCallUI/src/com/android/incallui/CallCardFragment.java @@ -917,7 +917,7 @@ public class CallCardFragment extends BaseFragment 0) { - duration.append(res.getQuantityString(R.plurals.duration_hours, hours, hours)); - } - if (minutes > 0) { - if (hours > 0) { - duration.append(' '); - } - duration.append(res.getQuantityString(R.plurals.duration_minutes, minutes, minutes)); - } - if (seconds > 0) { - if (hours > 0 || minutes > 0) { - duration.append(' '); - } - duration.append(res.getQuantityString(R.plurals.duration_seconds, seconds, seconds)); - } - } catch (Resources.NotFoundException e) { - // Ignore; plurals throws an exception for an untranslated quantity for a given locale. - return null; + final ArrayList measures = new ArrayList(); + if (hours > 0) { + measures.add(new Measure(hours, MeasureUnit.HOUR)); + } + if (minutes > 0) { + measures.add(new Measure(minutes, MeasureUnit.MINUTE)); + } + if (seconds > 0) { + measures.add(new Measure(seconds, MeasureUnit.SECOND)); + } + + if (measures.isEmpty()) { + return ""; + } else { + return MeasureFormat.getInstance(Locale.getDefault(), FormatWidth.WIDE) + .formatMeasures((Measure[]) measures.toArray()); } - return duration.toString(); } } -- cgit v1.2.3