summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DateTimeSettingsSetupWizard.java
diff options
context:
space:
mode:
authorDaisuke Miyakawa <dmiyakawa@google.com>2010-09-22 12:19:34 -0700
committerDaisuke Miyakawa <dmiyakawa@google.com>2010-09-22 12:31:55 -0700
commit4ad2f9b87047237538fdfbe4730b378b7aa3bbcc (patch)
treede235c249fa801f4daa526e1f29ae56603674e54 /src/com/android/settings/DateTimeSettingsSetupWizard.java
parent1bb6db526771fa594b2e5c0865dc89dce3cf351c (diff)
downloadpackages_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.java78
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;
+ }
+ }
}