From 56018e577edada2721f4772bcec9274d043a06e7 Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Tue, 15 Jan 2013 10:59:43 -0500 Subject: [PATCH] port system ui over to new ICU date formatting API. Bug: 7288134 Change-Id: Icea2ff96fd91c6db66b3aad6f6653b21203351b1 --- core/res/res/values/donottranslate.xml | 4 ++++ core/res/res/values/symbols.xml | 1 + packages/SystemUI/res/values/donottranslate.xml | 2 +- .../systemui/statusbar/policy/DateView.java | 12 +++++++++--- .../policy/impl/keyguard/KeyguardStatusView.java | 16 +++++++++++----- 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/core/res/res/values/donottranslate.xml b/core/res/res/values/donottranslate.xml index bdcab390dc195..b49e7bd50037b 100644 --- a/core/res/res/values/donottranslate.xml +++ b/core/res/res/values/donottranslate.xml @@ -26,4 +26,8 @@ square : + + eeeMMMMd + + @string/icu_abbrev_wday_month_day_no_year diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index d6f40f6c64579..6db89d91ee1c9 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1374,6 +1374,7 @@ + diff --git a/packages/SystemUI/res/values/donottranslate.xml b/packages/SystemUI/res/values/donottranslate.xml index 41ea6f3cea671..351a1fdbda07a 100644 --- a/packages/SystemUI/res/values/donottranslate.xml +++ b/packages/SystemUI/res/values/donottranslate.xml @@ -18,6 +18,6 @@ --> - @*android:string/abbrev_wday_month_day_no_year + @*android:string/system_ui_date_pattern diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java index 1d6b3d116f837..cbe296d39ac24 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DateView.java @@ -20,7 +20,6 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.text.format.DateFormat; import android.util.AttributeSet; import android.view.View; import android.view.ViewParent; @@ -28,7 +27,11 @@ import android.widget.TextView; import com.android.systemui.R; +import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; + +import libcore.icu.ICU; public class DateView extends TextView { private static final String TAG = "DateView"; @@ -87,8 +90,11 @@ public class DateView extends TextView { } protected void updateClock() { - final String dateFormat = getContext().getString(R.string.abbrev_wday_month_day_no_year); - setText(DateFormat.format(dateFormat, new Date())); + final String dateFormat = getContext().getString(R.string.system_ui_date_pattern); + final Locale l = Locale.getDefault(); + String fmt = ICU.getBestDateTimePattern(dateFormat, l.toString()); + SimpleDateFormat sdf = new SimpleDateFormat(fmt, l); + setText(sdf.format(new Date())); } private boolean isVisible() { diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusView.java index 0edb7a13f0aa4..d938cecf1a903 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardStatusView.java @@ -20,7 +20,6 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Typeface; import android.text.TextUtils; -import android.text.format.DateFormat; import android.util.AttributeSet; import android.util.Slog; import android.view.View; @@ -30,7 +29,11 @@ import android.widget.TextView; import com.android.internal.R; import com.android.internal.widget.LockPatternUtils; +import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; + +import libcore.icu.ICU; public class KeyguardStatusView extends GridLayout { private static final boolean DEBUG = KeyguardViewMediator.DEBUG; @@ -41,7 +44,7 @@ public class KeyguardStatusView extends GridLayout { public static final int CHARGING_ICON = 0; //R.drawable.ic_lock_idle_charging; public static final int BATTERY_LOW_ICON = 0; //R.drawable.ic_lock_idle_low_battery; - private CharSequence mDateFormatString; + private SimpleDateFormat mDateFormat; private LockPatternUtils mLockPatternUtils; private TextView mDateView; @@ -80,8 +83,11 @@ public class KeyguardStatusView extends GridLayout { protected void onFinishInflate() { super.onFinishInflate(); Resources res = getContext().getResources(); - mDateFormatString = - res.getText(com.android.internal.R.string.abbrev_wday_month_day_no_year); + final Locale locale = Locale.getDefault(); + final String datePattern = + res.getString(com.android.internal.R.string.system_ui_date_pattern); + final String bestFormat = ICU.getBestDateTimePattern(datePattern, locale.toString()); + mDateFormat = new SimpleDateFormat(bestFormat, locale); mDateView = (TextView) findViewById(R.id.date); mAlarmStatusView = (TextView) findViewById(R.id.alarm_status); mClockView = (ClockView) findViewById(R.id.clock_view); @@ -121,7 +127,7 @@ public class KeyguardStatusView extends GridLayout { } void refreshDate() { - maybeSetUpperCaseText(mDateView, DateFormat.format(mDateFormatString, new Date())); + maybeSetUpperCaseText(mDateView, mDateFormat.format(new Date())); } @Override