diff options
author | Daisuke Miyakawa <dmiyakawa@google.com> | 2010-09-22 12:19:34 -0700 |
---|---|---|
committer | Daisuke Miyakawa <dmiyakawa@google.com> | 2010-09-22 12:31:55 -0700 |
commit | 4ad2f9b87047237538fdfbe4730b378b7aa3bbcc (patch) | |
tree | de235c249fa801f4daa526e1f29ae56603674e54 /src/com/android/settings/DateTimeSettingsSetupWizard.java | |
parent | 1bb6db526771fa594b2e5c0865dc89dce3cf351c (diff) | |
download | packages_apps_Settings-4ad2f9b87047237538fdfbe4730b378b7aa3bbcc.zip packages_apps_Settings-4ad2f9b87047237538fdfbe4730b378b7aa3bbcc.tar.gz packages_apps_Settings-4ad2f9b87047237538fdfbe4730b378b7aa3bbcc.tar.bz2 |
Let SetupWizard XL use Auto_TIME_ZONE
Bug: 2989496
Change-Id: I37719a70783fc0505598ef9aaad1792d4a0ca1af
Diffstat (limited to 'src/com/android/settings/DateTimeSettingsSetupWizard.java')
-rw-r--r-- | src/com/android/settings/DateTimeSettingsSetupWizard.java | 78 |
1 files changed, 52 insertions, 26 deletions
diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java index 016a7f2..c47af0a 100644 --- a/src/com/android/settings/DateTimeSettingsSetupWizard.java +++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java @@ -43,6 +43,8 @@ public class DateTimeSettingsSetupWizard extends Activity private boolean mXLargeScreenSize; /* Available only in XL */ + private CompoundButton mAutoDateTimeButton; + private CompoundButton mAutoTimeZoneButton; private Button mTimeZone; private TimePicker mTimePicker; private DatePicker mDatePicker; @@ -65,28 +67,25 @@ public class DateTimeSettingsSetupWizard extends Activity } public void initUiForXl() { - // TODO: use system value - final boolean autoTimeZoneEnabled = false; - final CompoundButton autoTimeZoneButton = - (CompoundButton)findViewById(R.id.time_zone_auto); - autoTimeZoneButton.setChecked(autoTimeZoneEnabled); - autoTimeZoneButton.setOnCheckedChangeListener(this); - // 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 boolean autoTimeZoneEnabled = isAutoTimeZoneEnabled(); + mAutoTimeZoneButton = (CompoundButton)findViewById(R.id.time_zone_auto); + mAutoTimeZoneButton.setChecked(autoTimeZoneEnabled); + mAutoTimeZoneButton.setOnCheckedChangeListener(this); + mAutoTimeZoneButton.setText(autoTimeZoneEnabled ? R.string.zone_auto_summaryOn : + R.string.zone_auto_summaryOff); final TimeZone tz = TimeZone.getDefault(); mTimeZone = (Button)findViewById(R.id.current_time_zone); mTimeZone.setText(DateTimeSettings.getTimeZoneText(tz)); 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.setEnabled(!autoDateTimeEnabled); @@ -112,6 +111,13 @@ public class DateTimeSettingsSetupWizard extends Activity } case R.id.next_button: { 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(), mDatePicker.getDayOfMonth()); DateTimeSettings.setTime( @@ -129,16 +135,27 @@ public class DateTimeSettingsSetupWizard extends Activity @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { final boolean autoEnabled = isChecked; // just for readibility. - Settings.System.putInt(getContentResolver(), - Settings.System.AUTO_TIME, - isChecked ? 1 : 0); - if (isChecked) { - findViewById(R.id.current_time_zone).setVisibility(View.VISIBLE); - findViewById(R.id.zone_picker).setVisibility(View.GONE); + if (buttonView == mAutoTimeZoneButton) { + // In XL screen, we save all the state only when the next button is pressed. + if (!mXLargeScreenSize) { + Settings.System.putInt(getContentResolver(), + Settings.System.AUTO_TIME_ZONE, + 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) { final View focusedView = getCurrentFocus(); if (focusedView != null) { @@ -167,4 +184,13 @@ public class DateTimeSettingsSetupWizard extends Activity return true; } } + + private boolean isAutoTimeZoneEnabled() { + try { + return Settings.System.getInt(getContentResolver(), + Settings.System.AUTO_TIME_ZONE) > 0; + } catch (SettingNotFoundException e) { + return true; + } + } } |