am 59f733ac: Merge "port system ui over to new ICU date formatting API."

* commit '59f733acc4b8a3252aa7587790610c9dae62e9d7':
  port system ui over to new ICU date formatting API.
This commit is contained in:
Chris Wren
2013-01-15 14:22:41 -08:00
committed by Android Git Automerger
5 changed files with 26 additions and 9 deletions

View File

@@ -26,4 +26,8 @@
<string name="lock_pattern_view_aspect">square</string>
<!-- @hide DO NOT TRANSLATE. Separator between the hour and minute elements in a TimePicker widget -->
<string name="time_picker_separator">:</string>
<!-- @hide DO NOT TRANSLATE. ICU pattern for "Mon, 14 January" -->
<string name="icu_abbrev_wday_month_day_no_year">eeeMMMMd</string>
<!-- @hide DO NOT TRANSLATE. date formatting pattern for system ui.-->
<string name="system_ui_date_pattern">@string/icu_abbrev_wday_month_day_no_year</string>
</resources>

View File

@@ -1374,6 +1374,7 @@
<java-symbol type="layout" name="keyguard_transport_control_view" />
<java-symbol type="layout" name="keyguard_status_view" />
<java-symbol type="string" name="abbrev_wday_month_day_no_year" />
<java-symbol type="string" name="system_ui_date_pattern" />
<java-symbol type="string" name="android_upgrading_title" />
<java-symbol type="string" name="bugreport_title" />
<java-symbol type="string" name="bugreport_message" />

View File

@@ -18,6 +18,6 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Date format for display: should match the lockscreen in /policy. -->
<string name="abbrev_wday_month_day_no_year">@*android:string/abbrev_wday_month_day_no_year</string>
<string name="system_ui_date_pattern">@*android:string/system_ui_date_pattern</string>
</resources>

View File

@@ -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() {

View File

@@ -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