Merge "Remove @CorePlatformApi LocaleData usage in frameworks" am: 3f89b904a8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1367376 Change-Id: Ic04cac39c009ec6acc362c8ef84fc52876535dd4
This commit is contained in:
@@ -26,8 +26,6 @@ import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.SpannedString;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@@ -287,8 +285,10 @@ public class DateFormat {
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
public static String getTimeFormatString(Context context, int userHandle) {
|
||||
final LocaleData d = LocaleData.get(context.getResources().getConfiguration().locale);
|
||||
return is24HourFormat(context, userHandle) ? d.timeFormat_Hm : d.timeFormat_hm;
|
||||
DateTimePatternGenerator dtpg = DateTimePatternGenerator.getInstance(
|
||||
context.getResources().getConfiguration().locale);
|
||||
return is24HourFormat(context, userHandle) ? dtpg.getBestPattern("Hm")
|
||||
: dtpg.getBestPattern("hm");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -475,7 +475,6 @@ public class DateFormat {
|
||||
SpannableStringBuilder s = new SpannableStringBuilder(inFormat);
|
||||
int count;
|
||||
|
||||
LocaleData localeData = LocaleData.get(Locale.getDefault());
|
||||
DateFormatSymbols dfs = getIcuDateFormatSymbols(Locale.getDefault());
|
||||
String[] amPm = dfs.getAmPmStrings();
|
||||
|
||||
@@ -506,7 +505,7 @@ public class DateFormat {
|
||||
break;
|
||||
case 'c':
|
||||
case 'E':
|
||||
replacement = getDayOfWeekString(localeData,
|
||||
replacement = getDayOfWeekString(dfs,
|
||||
inDate.get(Calendar.DAY_OF_WEEK), count, c);
|
||||
break;
|
||||
case 'K': // hour in am/pm (0-11)
|
||||
@@ -534,8 +533,7 @@ public class DateFormat {
|
||||
break;
|
||||
case 'L':
|
||||
case 'M':
|
||||
replacement = getMonthString(localeData,
|
||||
inDate.get(Calendar.MONTH), count, c);
|
||||
replacement = getMonthString(dfs, inDate.get(Calendar.MONTH), count, c);
|
||||
break;
|
||||
case 'm':
|
||||
replacement = zeroPad(inDate.get(Calendar.MINUTE), count);
|
||||
@@ -568,25 +566,29 @@ public class DateFormat {
|
||||
}
|
||||
}
|
||||
|
||||
private static String getDayOfWeekString(LocaleData ld, int day, int count, int kind) {
|
||||
private static String getDayOfWeekString(DateFormatSymbols dfs, int day, int count, int kind) {
|
||||
boolean standalone = (kind == 'c');
|
||||
int context = standalone ? DateFormatSymbols.STANDALONE : DateFormatSymbols.FORMAT;
|
||||
final int width;
|
||||
if (count == 5) {
|
||||
return standalone ? ld.tinyStandAloneWeekdayNames[day] : ld.tinyWeekdayNames[day];
|
||||
width = DateFormatSymbols.NARROW;
|
||||
} else if (count == 4) {
|
||||
return standalone ? ld.longStandAloneWeekdayNames[day] : ld.longWeekdayNames[day];
|
||||
width = DateFormatSymbols.WIDE;
|
||||
} else {
|
||||
return standalone ? ld.shortStandAloneWeekdayNames[day] : ld.shortWeekdayNames[day];
|
||||
width = DateFormatSymbols.ABBREVIATED;
|
||||
}
|
||||
return dfs.getWeekdays(context, width)[day];
|
||||
}
|
||||
|
||||
private static String getMonthString(LocaleData ld, int month, int count, int kind) {
|
||||
private static String getMonthString(DateFormatSymbols dfs, int month, int count, int kind) {
|
||||
boolean standalone = (kind == 'L');
|
||||
int monthContext = standalone ? DateFormatSymbols.STANDALONE : DateFormatSymbols.FORMAT;
|
||||
if (count == 5) {
|
||||
return standalone ? ld.tinyStandAloneMonthNames[month] : ld.tinyMonthNames[month];
|
||||
return dfs.getMonths(monthContext, DateFormatSymbols.NARROW)[month];
|
||||
} else if (count == 4) {
|
||||
return standalone ? ld.longStandAloneMonthNames[month] : ld.longMonthNames[month];
|
||||
return dfs.getMonths(monthContext, DateFormatSymbols.WIDE)[month];
|
||||
} else if (count == 3) {
|
||||
return standalone ? ld.shortStandAloneMonthNames[month] : ld.shortMonthNames[month];
|
||||
return dfs.getMonths(monthContext, DateFormatSymbols.ABBREVIATED)[month];
|
||||
} else {
|
||||
// Calendar.JANUARY == 0, so add 1 to month.
|
||||
return zeroPad(month+1, count);
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.compat.annotation.UnsupportedAppUsage;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.icu.text.DateFormatSymbols;
|
||||
import android.icu.text.MeasureFormat;
|
||||
import android.icu.text.MeasureFormat.FormatWidth;
|
||||
import android.icu.util.Measure;
|
||||
@@ -27,8 +28,6 @@ import android.icu.util.MeasureUnit;
|
||||
|
||||
import com.android.internal.R;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@@ -200,17 +199,23 @@ public class DateUtils
|
||||
*/
|
||||
@Deprecated
|
||||
public static String getDayOfWeekString(int dayOfWeek, int abbrev) {
|
||||
LocaleData d = LocaleData.get(Locale.getDefault());
|
||||
String[] names;
|
||||
DateFormatSymbols dfs = DateFormatSymbols.getInstance();
|
||||
final int width;
|
||||
switch (abbrev) {
|
||||
case LENGTH_LONG: names = d.longWeekdayNames; break;
|
||||
case LENGTH_MEDIUM: names = d.shortWeekdayNames; break;
|
||||
case LENGTH_SHORT: names = d.shortWeekdayNames; break; // TODO
|
||||
case LENGTH_SHORTER: names = d.shortWeekdayNames; break; // TODO
|
||||
case LENGTH_SHORTEST: names = d.tinyWeekdayNames; break;
|
||||
default: names = d.shortWeekdayNames; break;
|
||||
case LENGTH_LONG:
|
||||
width = DateFormatSymbols.WIDE;
|
||||
break;
|
||||
case LENGTH_SHORTEST:
|
||||
width = DateFormatSymbols.NARROW;
|
||||
break;
|
||||
case LENGTH_MEDIUM:
|
||||
case LENGTH_SHORT: // TODO
|
||||
case LENGTH_SHORTER: // TODO
|
||||
default:
|
||||
width = DateFormatSymbols.ABBREVIATED;
|
||||
break;
|
||||
}
|
||||
return names[dayOfWeek];
|
||||
return dfs.getWeekdays(DateFormatSymbols.FORMAT, width)[dayOfWeek];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -239,17 +244,23 @@ public class DateUtils
|
||||
*/
|
||||
@Deprecated
|
||||
public static String getMonthString(int month, int abbrev) {
|
||||
LocaleData d = LocaleData.get(Locale.getDefault());
|
||||
String[] names;
|
||||
DateFormatSymbols dfs = DateFormat.getIcuDateFormatSymbols(Locale.getDefault());
|
||||
final int width;
|
||||
switch (abbrev) {
|
||||
case LENGTH_LONG: names = d.longMonthNames; break;
|
||||
case LENGTH_MEDIUM: names = d.shortMonthNames; break;
|
||||
case LENGTH_SHORT: names = d.shortMonthNames; break;
|
||||
case LENGTH_SHORTER: names = d.shortMonthNames; break;
|
||||
case LENGTH_SHORTEST: names = d.tinyMonthNames; break;
|
||||
default: names = d.shortMonthNames; break;
|
||||
case LENGTH_LONG:
|
||||
width = DateFormatSymbols.WIDE;
|
||||
break;
|
||||
case LENGTH_SHORTEST:
|
||||
width = DateFormatSymbols.NARROW;
|
||||
break;
|
||||
case LENGTH_MEDIUM:
|
||||
case LENGTH_SHORT:
|
||||
case LENGTH_SHORTER:
|
||||
default:
|
||||
width = DateFormatSymbols.ABBREVIATED;
|
||||
break;
|
||||
}
|
||||
return names[month];
|
||||
return dfs.getMonths(DateFormatSymbols.FORMAT, width)[month];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,11 +22,10 @@ package android.text.format;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.icu.text.DateFormatSymbols;
|
||||
import android.icu.text.DecimalFormatSymbols;
|
||||
|
||||
import com.android.i18n.timezone.ZoneInfoData;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.nio.CharBuffer;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -53,17 +52,17 @@ class TimeFormatter {
|
||||
private static final int DAYSPERNYEAR = 365;
|
||||
|
||||
/**
|
||||
* The Locale for which the cached LocaleData and formats have been loaded.
|
||||
* The Locale for which the cached symbols and formats have been loaded.
|
||||
*/
|
||||
private static Locale sLocale;
|
||||
private static DateFormatSymbols sDateFormatSymbols;
|
||||
private static LocaleData sLocaleData;
|
||||
private static DecimalFormatSymbols sDecimalFormatSymbols;
|
||||
private static String sTimeOnlyFormat;
|
||||
private static String sDateOnlyFormat;
|
||||
private static String sDateTimeFormat;
|
||||
|
||||
private final DateFormatSymbols dateFormatSymbols;
|
||||
private final LocaleData localeData;
|
||||
private final DecimalFormatSymbols decimalFormatSymbols;
|
||||
private final String dateTimeFormat;
|
||||
private final String timeOnlyFormat;
|
||||
private final String dateOnlyFormat;
|
||||
@@ -78,7 +77,7 @@ class TimeFormatter {
|
||||
if (sLocale == null || !(locale.equals(sLocale))) {
|
||||
sLocale = locale;
|
||||
sDateFormatSymbols = DateFormat.getIcuDateFormatSymbols(locale);
|
||||
sLocaleData = LocaleData.get(locale);
|
||||
sDecimalFormatSymbols = DecimalFormatSymbols.getInstance(locale);
|
||||
|
||||
Resources r = Resources.getSystem();
|
||||
sTimeOnlyFormat = r.getString(com.android.internal.R.string.time_of_day);
|
||||
@@ -87,10 +86,10 @@ class TimeFormatter {
|
||||
}
|
||||
|
||||
this.dateFormatSymbols = sDateFormatSymbols;
|
||||
this.decimalFormatSymbols = sDecimalFormatSymbols;
|
||||
this.dateTimeFormat = sDateTimeFormat;
|
||||
this.timeOnlyFormat = sTimeOnlyFormat;
|
||||
this.dateOnlyFormat = sDateOnlyFormat;
|
||||
localeData = sLocaleData;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,12 +171,12 @@ class TimeFormatter {
|
||||
}
|
||||
|
||||
private String localizeDigits(String s) {
|
||||
if (localeData.zeroDigit == '0') {
|
||||
if (decimalFormatSymbols.getZeroDigit() == '0') {
|
||||
return s;
|
||||
}
|
||||
|
||||
int length = s.length();
|
||||
int offsetToLocalizedDigits = localeData.zeroDigit - '0';
|
||||
int offsetToLocalizedDigits = decimalFormatSymbols.getZeroDigit() - '0';
|
||||
StringBuilder result = new StringBuilder(length);
|
||||
for (int i = 0; i < length; ++i) {
|
||||
char ch = s.charAt(i);
|
||||
@@ -220,35 +219,44 @@ class TimeFormatter {
|
||||
char currentChar = formatBuffer.get(formatBuffer.position());
|
||||
switch (currentChar) {
|
||||
case 'A':
|
||||
modifyAndAppend((wallTime.getWeekDay() < 0
|
||||
|| wallTime.getWeekDay() >= DAYSPERWEEK)
|
||||
? "?" : localeData.longWeekdayNames[wallTime.getWeekDay() + 1],
|
||||
modifyAndAppend(
|
||||
(wallTime.getWeekDay() < 0 || wallTime.getWeekDay() >= DAYSPERWEEK)
|
||||
? "?"
|
||||
: dateFormatSymbols.getWeekdays(DateFormatSymbols.FORMAT,
|
||||
DateFormatSymbols.WIDE)[wallTime.getWeekDay() + 1],
|
||||
modifier);
|
||||
return false;
|
||||
case 'a':
|
||||
modifyAndAppend((wallTime.getWeekDay() < 0
|
||||
|| wallTime.getWeekDay() >= DAYSPERWEEK)
|
||||
? "?" : localeData.shortWeekdayNames[wallTime.getWeekDay() + 1],
|
||||
modifyAndAppend(
|
||||
(wallTime.getWeekDay() < 0 || wallTime.getWeekDay() >= DAYSPERWEEK)
|
||||
? "?"
|
||||
: dateFormatSymbols.getWeekdays(DateFormatSymbols.FORMAT,
|
||||
DateFormatSymbols.ABBREVIATED)[wallTime.getWeekDay() + 1],
|
||||
modifier);
|
||||
return false;
|
||||
case 'B':
|
||||
if (modifier == '-') {
|
||||
modifyAndAppend((wallTime.getMonth() < 0
|
||||
|| wallTime.getMonth() >= MONSPERYEAR)
|
||||
? "?"
|
||||
: localeData.longStandAloneMonthNames[wallTime.getMonth()],
|
||||
modifyAndAppend(
|
||||
(wallTime.getMonth() < 0 || wallTime.getMonth() >= MONSPERYEAR)
|
||||
? "?"
|
||||
: dateFormatSymbols.getMonths(DateFormatSymbols.STANDALONE,
|
||||
DateFormatSymbols.WIDE)[wallTime.getMonth()],
|
||||
modifier);
|
||||
} else {
|
||||
modifyAndAppend((wallTime.getMonth() < 0
|
||||
|| wallTime.getMonth() >= MONSPERYEAR)
|
||||
? "?" : localeData.longMonthNames[wallTime.getMonth()],
|
||||
modifyAndAppend(
|
||||
(wallTime.getMonth() < 0 || wallTime.getMonth() >= MONSPERYEAR)
|
||||
? "?"
|
||||
: dateFormatSymbols.getMonths(DateFormatSymbols.FORMAT,
|
||||
DateFormatSymbols.WIDE)[wallTime.getMonth()],
|
||||
modifier);
|
||||
}
|
||||
return false;
|
||||
case 'b':
|
||||
case 'h':
|
||||
modifyAndAppend((wallTime.getMonth() < 0 || wallTime.getMonth() >= MONSPERYEAR)
|
||||
? "?" : localeData.shortMonthNames[wallTime.getMonth()],
|
||||
? "?"
|
||||
: dateFormatSymbols.getMonths(DateFormatSymbols.FORMAT,
|
||||
DateFormatSymbols.ABBREVIATED)[wallTime.getMonth()],
|
||||
modifier);
|
||||
return false;
|
||||
case 'C':
|
||||
|
||||
@@ -38,8 +38,6 @@ import android.view.ViewGroup;
|
||||
|
||||
import com.android.internal.R;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
@@ -264,7 +262,7 @@ class CalendarViewLegacyDelegate extends CalendarView.AbstractCalendarViewDelega
|
||||
mShowWeekNumber = a.getBoolean(R.styleable.CalendarView_showWeekNumber,
|
||||
DEFAULT_SHOW_WEEK_NUMBER);
|
||||
mFirstDayOfWeek = a.getInt(R.styleable.CalendarView_firstDayOfWeek,
|
||||
LocaleData.get(Locale.getDefault()).firstDayOfWeek);
|
||||
Calendar.getInstance().getFirstDayOfWeek());
|
||||
final String minDate = a.getString(R.styleable.CalendarView_minDate);
|
||||
if (!CalendarView.parseDate(minDate, mMinDate)) {
|
||||
CalendarView.parseDate(DEFAULT_MIN_DATE, mMinDate);
|
||||
|
||||
@@ -33,10 +33,6 @@ import com.android.internal.R;
|
||||
import com.android.internal.widget.ViewPager;
|
||||
import com.android.internal.widget.ViewPager.OnPageChangeListener;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
class DayPickerView extends ViewGroup {
|
||||
private static final int DEFAULT_LAYOUT = R.layout.day_picker_content_material;
|
||||
private static final int DEFAULT_START_YEAR = 1900;
|
||||
@@ -86,7 +82,7 @@ class DayPickerView extends ViewGroup {
|
||||
attrs, a, defStyleAttr, defStyleRes);
|
||||
|
||||
final int firstDayOfWeek = a.getInt(R.styleable.CalendarView_firstDayOfWeek,
|
||||
LocaleData.get(Locale.getDefault()).firstDayOfWeek);
|
||||
Calendar.getInstance().getFirstDayOfWeek());
|
||||
|
||||
final String minDate = a.getString(R.styleable.CalendarView_minDate);
|
||||
final String maxDate = a.getString(R.styleable.CalendarView_maxDate);
|
||||
|
||||
@@ -34,6 +34,7 @@ import android.graphics.Paint;
|
||||
import android.graphics.Paint.Align;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.icu.text.DecimalFormatSymbols;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.InputFilter;
|
||||
@@ -61,8 +62,6 @@ import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import com.android.internal.R;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.ArrayList;
|
||||
@@ -209,7 +208,7 @@ public class NumberPicker extends LinearLayout {
|
||||
}
|
||||
|
||||
private static char getZeroDigit(Locale locale) {
|
||||
return LocaleData.get(locale).zeroDigit;
|
||||
return DecimalFormatSymbols.getInstance(locale).getZeroDigit();
|
||||
}
|
||||
|
||||
private java.util.Formatter createFormatter(Locale locale) {
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.graphics.Paint.Align;
|
||||
import android.graphics.Paint.Style;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Typeface;
|
||||
import android.icu.text.DateFormatSymbols;
|
||||
import android.icu.text.DisplayContext;
|
||||
import android.icu.text.SimpleDateFormat;
|
||||
import android.icu.util.Calendar;
|
||||
@@ -49,8 +50,6 @@ import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.widget.ExploreByTouchHelper;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -193,7 +192,8 @@ class SimpleMonthView extends View {
|
||||
private void updateDayOfWeekLabels() {
|
||||
// Use tiny (e.g. single-character) weekday names from ICU. The indices
|
||||
// for this list correspond to Calendar days, e.g. SUNDAY is index 1.
|
||||
final String[] tinyWeekdayNames = LocaleData.get(mLocale).tinyWeekdayNames;
|
||||
final String[] tinyWeekdayNames = DateFormatSymbols.getInstance(mLocale)
|
||||
.getWeekdays(DateFormatSymbols.FORMAT, DateFormatSymbols.NARROW);
|
||||
for (int i = 0; i < DAYS_IN_WEEK; i++) {
|
||||
mDayOfWeekLabels[i] = tinyWeekdayNames[(mWeekStart + i - 1) % DAYS_IN_WEEK + 1];
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.TypedArray;
|
||||
import android.database.ContentObserver;
|
||||
import android.icu.text.DateTimePatternGenerator;
|
||||
import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
import android.os.SystemClock;
|
||||
@@ -43,8 +44,6 @@ import android.view.inspector.InspectableProperty;
|
||||
|
||||
import com.android.internal.R;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.TimeZone;
|
||||
|
||||
@@ -259,14 +258,11 @@ public class TextClock extends TextView {
|
||||
}
|
||||
|
||||
private void init() {
|
||||
if (mFormat12 == null || mFormat24 == null) {
|
||||
LocaleData ld = LocaleData.get(getContext().getResources().getConfiguration().locale);
|
||||
if (mFormat12 == null) {
|
||||
mFormat12 = ld.timeFormat_hm;
|
||||
}
|
||||
if (mFormat24 == null) {
|
||||
mFormat24 = ld.timeFormat_Hm;
|
||||
}
|
||||
if (mFormat12 == null) {
|
||||
mFormat12 = getBestDateTimePattern("hm");
|
||||
}
|
||||
if (mFormat24 == null) {
|
||||
mFormat24 = getBestDateTimePattern("Hm");
|
||||
}
|
||||
|
||||
createTime(mTimeZone);
|
||||
@@ -508,13 +504,11 @@ public class TextClock extends TextView {
|
||||
private void chooseFormat() {
|
||||
final boolean format24Requested = is24HourModeEnabled();
|
||||
|
||||
LocaleData ld = LocaleData.get(getContext().getResources().getConfiguration().locale);
|
||||
|
||||
if (format24Requested) {
|
||||
mFormat = abc(mFormat24, mFormat12, ld.timeFormat_Hm);
|
||||
mFormat = abc(mFormat24, mFormat12, getBestDateTimePattern("Hm"));
|
||||
mDescFormat = abc(mDescFormat24, mDescFormat12, mFormat);
|
||||
} else {
|
||||
mFormat = abc(mFormat12, mFormat24, ld.timeFormat_hm);
|
||||
mFormat = abc(mFormat12, mFormat24, getBestDateTimePattern("hm"));
|
||||
mDescFormat = abc(mDescFormat12, mDescFormat24, mFormat);
|
||||
}
|
||||
|
||||
@@ -527,6 +521,12 @@ public class TextClock extends TextView {
|
||||
}
|
||||
}
|
||||
|
||||
private String getBestDateTimePattern(String skeleton) {
|
||||
DateTimePatternGenerator dtpg = DateTimePatternGenerator.getInstance(
|
||||
getContext().getResources().getConfiguration().locale);
|
||||
return dtpg.getBestPattern(skeleton);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a if not null, else return b if not null, else return c.
|
||||
*/
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Rect;
|
||||
import android.icu.text.DateTimePatternGenerator;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Parcelable;
|
||||
@@ -54,8 +55,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController.Configurati
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.tuner.TunerService.Tunable;
|
||||
|
||||
import libcore.icu.LocaleData;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Locale;
|
||||
@@ -384,15 +383,16 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C
|
||||
private final CharSequence getSmallTime() {
|
||||
Context context = getContext();
|
||||
boolean is24 = DateFormat.is24HourFormat(context, mCurrentUserId);
|
||||
LocaleData d = LocaleData.get(context.getResources().getConfiguration().locale);
|
||||
DateTimePatternGenerator dtpg = DateTimePatternGenerator.getInstance(
|
||||
context.getResources().getConfiguration().locale);
|
||||
|
||||
final char MAGIC1 = '\uEF00';
|
||||
final char MAGIC2 = '\uEF01';
|
||||
|
||||
SimpleDateFormat sdf;
|
||||
String format = mShowSeconds
|
||||
? is24 ? d.timeFormat_Hms : d.timeFormat_hms
|
||||
: is24 ? d.timeFormat_Hm : d.timeFormat_hm;
|
||||
? is24 ? dtpg.getBestPattern("Hms") : dtpg.getBestPattern("hms")
|
||||
: is24 ? dtpg.getBestPattern("Hm") : dtpg.getBestPattern("hm");
|
||||
if (!format.equals(mClockFormatString)) {
|
||||
mContentDescriptionFormat = new SimpleDateFormat(format);
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user