Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56018e57 authored by Chris Wren's avatar Chris Wren
Browse files

port system ui over to new ICU date formatting API.

Bug: 7288134
Change-Id: Icea2ff96fd91c6db66b3aad6f6653b21203351b1
parent 8e303cc5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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>
+1 −0
Original line number Diff line number Diff line
@@ -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" />
+1 −1
Original line number Diff line number Diff line
@@ -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>
+9 −3
Original line number Diff line number Diff line
@@ -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() {
+11 −5
Original line number Diff line number Diff line
@@ -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