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