Let SetupWizard XL use Auto_TIME_ZONE
Bug: 2989496 Change-Id: I37719a70783fc0505598ef9aaad1792d4a0ca1af
This commit is contained in:
@@ -43,6 +43,8 @@ public class DateTimeSettingsSetupWizard extends Activity
|
|||||||
private boolean mXLargeScreenSize;
|
private boolean mXLargeScreenSize;
|
||||||
|
|
||||||
/* Available only in XL */
|
/* Available only in XL */
|
||||||
|
private CompoundButton mAutoDateTimeButton;
|
||||||
|
private CompoundButton mAutoTimeZoneButton;
|
||||||
private Button mTimeZone;
|
private Button mTimeZone;
|
||||||
private TimePicker mTimePicker;
|
private TimePicker mTimePicker;
|
||||||
private DatePicker mDatePicker;
|
private DatePicker mDatePicker;
|
||||||
@@ -65,28 +67,25 @@ public class DateTimeSettingsSetupWizard extends Activity
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void initUiForXl() {
|
public void initUiForXl() {
|
||||||
// TODO: use system value
|
final boolean autoTimeZoneEnabled = isAutoTimeZoneEnabled();
|
||||||
final boolean autoTimeZoneEnabled = false;
|
mAutoTimeZoneButton = (CompoundButton)findViewById(R.id.time_zone_auto);
|
||||||
final CompoundButton autoTimeZoneButton =
|
mAutoTimeZoneButton.setChecked(autoTimeZoneEnabled);
|
||||||
(CompoundButton)findViewById(R.id.time_zone_auto);
|
mAutoTimeZoneButton.setOnCheckedChangeListener(this);
|
||||||
autoTimeZoneButton.setChecked(autoTimeZoneEnabled);
|
mAutoTimeZoneButton.setText(autoTimeZoneEnabled ? R.string.zone_auto_summaryOn :
|
||||||
autoTimeZoneButton.setOnCheckedChangeListener(this);
|
R.string.zone_auto_summaryOff);
|
||||||
// TODO: remove this after the system support.
|
|
||||||
autoTimeZoneButton.setEnabled(false);
|
|
||||||
|
|
||||||
final boolean autoDateTimeEnabled = isAutoDateTimeEnabled();
|
|
||||||
final CompoundButton autoDateTimeButton =
|
|
||||||
(CompoundButton)findViewById(R.id.date_time_auto);
|
|
||||||
autoDateTimeButton.setChecked(autoDateTimeEnabled);
|
|
||||||
autoDateTimeButton.setText(autoDateTimeEnabled ? R.string.date_time_auto_summaryOn :
|
|
||||||
R.string.date_time_auto_summaryOff);
|
|
||||||
autoDateTimeButton.setOnCheckedChangeListener(this);
|
|
||||||
|
|
||||||
final TimeZone tz = TimeZone.getDefault();
|
final TimeZone tz = TimeZone.getDefault();
|
||||||
mTimeZone = (Button)findViewById(R.id.current_time_zone);
|
mTimeZone = (Button)findViewById(R.id.current_time_zone);
|
||||||
mTimeZone.setText(DateTimeSettings.getTimeZoneText(tz));
|
mTimeZone.setText(DateTimeSettings.getTimeZoneText(tz));
|
||||||
mTimeZone.setOnClickListener(this);
|
mTimeZone.setOnClickListener(this);
|
||||||
mTimeZone.setEnabled(!autoDateTimeEnabled);
|
mTimeZone.setEnabled(!autoTimeZoneEnabled);
|
||||||
|
|
||||||
|
final boolean autoDateTimeEnabled = isAutoDateTimeEnabled();
|
||||||
|
mAutoDateTimeButton = (CompoundButton)findViewById(R.id.date_time_auto);
|
||||||
|
mAutoDateTimeButton.setChecked(autoDateTimeEnabled);
|
||||||
|
mAutoDateTimeButton.setText(autoDateTimeEnabled ? R.string.date_time_auto_summaryOn :
|
||||||
|
R.string.date_time_auto_summaryOff);
|
||||||
|
mAutoDateTimeButton.setOnCheckedChangeListener(this);
|
||||||
|
|
||||||
mTimePicker = (TimePicker)findViewById(R.id.time_picker);
|
mTimePicker = (TimePicker)findViewById(R.id.time_picker);
|
||||||
mTimePicker.setEnabled(!autoDateTimeEnabled);
|
mTimePicker.setEnabled(!autoDateTimeEnabled);
|
||||||
@@ -112,6 +111,13 @@ public class DateTimeSettingsSetupWizard extends Activity
|
|||||||
}
|
}
|
||||||
case R.id.next_button: {
|
case R.id.next_button: {
|
||||||
if (mXLargeScreenSize) {
|
if (mXLargeScreenSize) {
|
||||||
|
Settings.System.putInt(getContentResolver(), Settings.System.AUTO_TIME_ZONE,
|
||||||
|
mAutoTimeZoneButton.isChecked() ? 1 : 0);
|
||||||
|
Settings.System.putInt(getContentResolver(), Settings.System.AUTO_TIME,
|
||||||
|
mAutoDateTimeButton.isChecked() ? 1 : 0);
|
||||||
|
// Note: in non-XL, Date & Time is stored by DatePickerDialog/TimePickerDialog,
|
||||||
|
// so we don't need to save those values there, while in XL, we need to as
|
||||||
|
// we don't use those Dialogs.
|
||||||
DateTimeSettings.setDate(mDatePicker.getYear(), mDatePicker.getMonth(),
|
DateTimeSettings.setDate(mDatePicker.getYear(), mDatePicker.getMonth(),
|
||||||
mDatePicker.getDayOfMonth());
|
mDatePicker.getDayOfMonth());
|
||||||
DateTimeSettings.setTime(
|
DateTimeSettings.setTime(
|
||||||
@@ -129,16 +135,27 @@ public class DateTimeSettingsSetupWizard extends Activity
|
|||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||||
final boolean autoEnabled = isChecked; // just for readibility.
|
final boolean autoEnabled = isChecked; // just for readibility.
|
||||||
Settings.System.putInt(getContentResolver(),
|
if (buttonView == mAutoTimeZoneButton) {
|
||||||
Settings.System.AUTO_TIME,
|
// In XL screen, we save all the state only when the next button is pressed.
|
||||||
isChecked ? 1 : 0);
|
if (!mXLargeScreenSize) {
|
||||||
if (isChecked) {
|
Settings.System.putInt(getContentResolver(),
|
||||||
findViewById(R.id.current_time_zone).setVisibility(View.VISIBLE);
|
Settings.System.AUTO_TIME_ZONE,
|
||||||
findViewById(R.id.zone_picker).setVisibility(View.GONE);
|
isChecked ? 1 : 0);
|
||||||
|
}
|
||||||
|
mTimeZone.setEnabled(!autoEnabled);
|
||||||
|
if (isChecked) {
|
||||||
|
findViewById(R.id.current_time_zone).setVisibility(View.VISIBLE);
|
||||||
|
findViewById(R.id.zone_picker).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
} else if (buttonView == mAutoDateTimeButton) {
|
||||||
|
if (!mXLargeScreenSize) {
|
||||||
|
Settings.System.putInt(getContentResolver(),
|
||||||
|
Settings.System.AUTO_TIME,
|
||||||
|
isChecked ? 1 : 0);
|
||||||
|
}
|
||||||
|
mTimePicker.setEnabled(!autoEnabled);
|
||||||
|
mDatePicker.setEnabled(!autoEnabled);
|
||||||
}
|
}
|
||||||
mTimeZone.setEnabled(!autoEnabled);
|
|
||||||
mTimePicker.setEnabled(!autoEnabled);
|
|
||||||
mDatePicker.setEnabled(!autoEnabled);
|
|
||||||
if (autoEnabled) {
|
if (autoEnabled) {
|
||||||
final View focusedView = getCurrentFocus();
|
final View focusedView = getCurrentFocus();
|
||||||
if (focusedView != null) {
|
if (focusedView != null) {
|
||||||
@@ -167,4 +184,13 @@ public class DateTimeSettingsSetupWizard extends Activity
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isAutoTimeZoneEnabled() {
|
||||||
|
try {
|
||||||
|
return Settings.System.getInt(getContentResolver(),
|
||||||
|
Settings.System.AUTO_TIME_ZONE) > 0;
|
||||||
|
} catch (SettingNotFoundException e) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user