summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2013-10-11 18:11:05 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-11 18:11:05 -0700
commitc69fa2751350355370a85ab0b92655b73047b91e (patch)
tree787d3b1929bf21fd5c92a1d74193caad778da0ad
parentdcc31551f80500a096b8eb95f7f0670b4c19fd95 (diff)
parent8eebe3b5bcdbdb1998d17bb7a058bd9ba26234c9 (diff)
downloadframeworks_base-c69fa2751350355370a85ab0b92655b73047b91e.zip
frameworks_base-c69fa2751350355370a85ab0b92655b73047b91e.tar.gz
frameworks_base-c69fa2751350355370a85ab0b92655b73047b91e.tar.bz2
am 8eebe3b5: am dc70340d: Merge "Enable time format localization in keyguard" into klp-dev
* commit '8eebe3b5bcdbdb1998d17bb7a058bd9ba26234c9': Enable time format localization in keyguard
-rw-r--r--packages/Keyguard/res/values/donottranslate.xml8
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java28
2 files changed, 31 insertions, 5 deletions
diff --git a/packages/Keyguard/res/values/donottranslate.xml b/packages/Keyguard/res/values/donottranslate.xml
index 5ee226b..16f5a3e 100644
--- a/packages/Keyguard/res/values/donottranslate.xml
+++ b/packages/Keyguard/res/values/donottranslate.xml
@@ -15,6 +15,12 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- String matching the lock screen format for displaying the date. -->
+ <!-- Skeleton string format for displaying the date. -->
<string name="abbrev_wday_month_day_no_year">EEEMMMMd</string>
+
+ <!-- Skeleton string format for displaying the time in 12-hour format. -->
+ <string name="clock_12hr_format">hm</string>
+
+ <!-- Skeleton string format for displaying the time in 24-hour format. -->
+ <string name="clock_24hr_format">Hm</string>
</resources>
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java
index 57fd82c..d933275 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java
@@ -17,6 +17,7 @@
package com.android.keyguard;
import android.content.Context;
+import android.content.res.Resources;
import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.AttributeSet;
@@ -39,6 +40,7 @@ public class KeyguardStatusView extends GridLayout {
private TextView mAlarmStatusView;
private TextClock mDateView;
+ private TextClock mClockView;
private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() {
@@ -88,6 +90,7 @@ public class KeyguardStatusView extends GridLayout {
super.onFinishInflate();
mAlarmStatusView = (TextView) findViewById(R.id.alarm_status);
mDateView = (TextClock) findViewById(R.id.date_view);
+ mClockView = (TextClock) findViewById(R.id.clock_view);
mLockPatternUtils = new LockPatternUtils(getContext());
final boolean screenOn = KeyguardUpdateMonitor.getInstance(mContext).isScreenOn();
setEnableMarquee(screenOn);
@@ -95,10 +98,27 @@ public class KeyguardStatusView extends GridLayout {
}
protected void refresh() {
- final String fmt = DateFormat.getBestDateTimePattern(Locale.getDefault(),
- mContext.getResources().getString(R.string.abbrev_wday_month_day_no_year));
- mDateView.setFormat24Hour(fmt);
- mDateView.setFormat12Hour(fmt);
+ Resources res = mContext.getResources();
+ Locale locale = Locale.getDefault();
+ final String dateFormat = DateFormat.getBestDateTimePattern(locale,
+ res.getString(R.string.abbrev_wday_month_day_no_year));
+
+ mDateView.setFormat24Hour(dateFormat);
+ mDateView.setFormat12Hour(dateFormat);
+
+ // 12-hour clock.
+ // CLDR insists on adding an AM/PM indicator even though it wasn't in the skeleton
+ // format. The following code removes the AM/PM indicator if we didn't want it.
+ final String clock12skel = res.getString(R.string.clock_12hr_format);
+ String clock12hr = DateFormat.getBestDateTimePattern(locale, clock12skel);
+ clock12hr = clock12skel.contains("a") ? clock12hr : clock12hr.replaceAll("a", "").trim();
+ mClockView.setFormat12Hour(clock12hr);
+
+ // 24-hour clock
+ final String clock24skel = res.getString(R.string.clock_24hr_format);
+ final String clock24hr = DateFormat.getBestDateTimePattern(locale, clock24skel);
+ mClockView.setFormat24Hour(clock24hr);
+
refreshAlarmStatus();
}