Settings: Ensure zen day-of-week formats use current locale.
Don't share SimpleDateFormat instances per-process, convert to per-instance to ensure we're always using the current locale. Updated version of: https://android-review.googlesource.com/#/c/147246/ Change-Id: Id464c35035c1de0a7894e5e19b57934f77df9769
This commit is contained in:
@@ -48,10 +48,11 @@ import java.util.List;
|
|||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
public class ZenModeAutomationSettings extends ZenModeSettingsBase {
|
public class ZenModeAutomationSettings extends ZenModeSettingsBase {
|
||||||
private static final SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("EEE");
|
|
||||||
|
|
||||||
static final Config CONFIG = getConditionProviderConfig();
|
static final Config CONFIG = getConditionProviderConfig();
|
||||||
|
|
||||||
|
// per-instance to ensure we're always using the current locale
|
||||||
|
private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEE");
|
||||||
private final Calendar mCalendar = Calendar.getInstance();
|
private final Calendar mCalendar = Calendar.getInstance();
|
||||||
|
|
||||||
private ServiceListing mServiceListing;
|
private ServiceListing mServiceListing;
|
||||||
@@ -218,7 +219,7 @@ public class ZenModeAutomationSettings extends ZenModeSettingsBase {
|
|||||||
|
|
||||||
private String dayString(int day) {
|
private String dayString(int day) {
|
||||||
mCalendar.set(Calendar.DAY_OF_WEEK, day);
|
mCalendar.set(Calendar.DAY_OF_WEEK, day);
|
||||||
return DAY_FORMAT.format(mCalendar.getTime());
|
return mDayFormat.format(mCalendar.getTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Config getConditionProviderConfig() {
|
private static Config getConditionProviderConfig() {
|
||||||
|
@@ -41,8 +41,9 @@ public class ZenModeScheduleDaysSelection extends ScrollView {
|
|||||||
Calendar.FRIDAY,
|
Calendar.FRIDAY,
|
||||||
Calendar.SATURDAY,
|
Calendar.SATURDAY,
|
||||||
};
|
};
|
||||||
private static final SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("EEEE");
|
|
||||||
|
|
||||||
|
// per-instance to ensure we're always using the current locale
|
||||||
|
private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEEE");
|
||||||
private final SparseBooleanArray mDays = new SparseBooleanArray();
|
private final SparseBooleanArray mDays = new SparseBooleanArray();
|
||||||
private final LinearLayout mLayout;
|
private final LinearLayout mLayout;
|
||||||
|
|
||||||
@@ -66,7 +67,7 @@ public class ZenModeScheduleDaysSelection extends ScrollView {
|
|||||||
final CheckBox checkBox = (CheckBox) inflater.inflate(R.layout.zen_schedule_rule_day,
|
final CheckBox checkBox = (CheckBox) inflater.inflate(R.layout.zen_schedule_rule_day,
|
||||||
this, false);
|
this, false);
|
||||||
c.set(Calendar.DAY_OF_WEEK, day);
|
c.set(Calendar.DAY_OF_WEEK, day);
|
||||||
checkBox.setText(DAY_FORMAT.format(c.getTime()));
|
checkBox.setText(mDayFormat.format(c.getTime()));
|
||||||
checkBox.setChecked(mDays.get(day));
|
checkBox.setChecked(mDays.get(day));
|
||||||
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@@ -50,10 +50,11 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
|
|||||||
private static final String KEY_START_TIME = "start_time";
|
private static final String KEY_START_TIME = "start_time";
|
||||||
private static final String KEY_END_TIME = "end_time";
|
private static final String KEY_END_TIME = "end_time";
|
||||||
|
|
||||||
private static final SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("EEE");
|
|
||||||
|
|
||||||
public static final String ACTION = Settings.ACTION_ZEN_MODE_SCHEDULE_RULE_SETTINGS;
|
public static final String ACTION = Settings.ACTION_ZEN_MODE_SCHEDULE_RULE_SETTINGS;
|
||||||
|
|
||||||
|
// per-instance to ensure we're always using the current locale
|
||||||
|
private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEE");
|
||||||
|
|
||||||
private Preference mDays;
|
private Preference mDays;
|
||||||
private TimePickerPreference mStart;
|
private TimePickerPreference mStart;
|
||||||
private TimePickerPreference mEnd;
|
private TimePickerPreference mEnd;
|
||||||
@@ -147,7 +148,7 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
|
|||||||
if (sb.length() > 0) {
|
if (sb.length() > 0) {
|
||||||
sb.append(mContext.getString(R.string.summary_divider_text));
|
sb.append(mContext.getString(R.string.summary_divider_text));
|
||||||
}
|
}
|
||||||
sb.append(DAY_FORMAT.format(c.getTime()));
|
sb.append(mDayFormat.format(c.getTime()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user