diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java index ab875271f7f..83adf271ffd 100644 --- a/src/com/android/settings/DateTimeSettings.java +++ b/src/com/android/settings/DateTimeSettings.java @@ -233,44 +233,38 @@ public class DateTimeSettings extends SettingsPreferenceFragment @Override public Dialog onCreateDialog(int id) { - Dialog d; - + final Calendar calendar = Calendar.getInstance(); switch (id) { - case DIALOG_DATEPICKER: { - final Calendar calendar = Calendar.getInstance(); - d = new DatePickerDialog( - getActivity(), - this, - calendar.get(Calendar.YEAR), - calendar.get(Calendar.MONTH), - calendar.get(Calendar.DAY_OF_MONTH)); - // The system clock can't represent dates outside this range. - DatePickerDialog datePicker = (DatePickerDialog)d; - Calendar t = Calendar.getInstance(); - t.clear(); - t.set(1970, Calendar.JANUARY, 1); - datePicker.getDatePicker().setMinDate(t.getTimeInMillis()); - t.clear(); - t.set(2037, Calendar.DECEMBER, 31); - datePicker.getDatePicker().setMaxDate(t.getTimeInMillis()); - break; - } - case DIALOG_TIMEPICKER: { - final Calendar calendar = Calendar.getInstance(); - d = new TimePickerDialog( + case DIALOG_DATEPICKER: + DatePickerDialog d = new DatePickerDialog( + getActivity(), + this, + calendar.get(Calendar.YEAR), + calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH)); + configureDatePicker(d.getDatePicker()); + return d; + case DIALOG_TIMEPICKER: + return new TimePickerDialog( getActivity(), this, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), DateFormat.is24HourFormat(getActivity())); - break; - } default: - d = null; - break; + throw new IllegalArgumentException(); } + } - return d; + static void configureDatePicker(DatePicker datePicker) { + // The system clock can't represent dates outside this range. + Calendar t = Calendar.getInstance(); + t.clear(); + t.set(1970, Calendar.JANUARY, 1); + datePicker.setMinDate(t.getTimeInMillis()); + t.clear(); + t.set(2037, Calendar.DECEMBER, 31); + datePicker.setMaxDate(t.getTimeInMillis()); } /* diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java index 05e0d4ec692..f4b0da5b832 100644 --- a/src/com/android/settings/DateTimeSettingsSetupWizard.java +++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java @@ -141,6 +141,7 @@ public class DateTimeSettingsSetupWizard extends Activity mDatePicker = (DatePicker)findViewById(R.id.date_picker); mDatePicker.setEnabled(!autoDateTimeEnabled); mDatePicker.setCalendarViewShown(false); + DateTimeSettings.configureDatePicker(mDatePicker); mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);