Clamp date setting for the SetupWizard as well as Settings.
We fixed this for Settings in 7ccfa0614c
,
but @sonymobile.com point out that it's still broken for SetupWizard.
Change-Id: I59348200105246f3ed7c0892e5f19b901d3e95ac
This commit is contained in:
@@ -233,44 +233,38 @@ public class DateTimeSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(int id) {
|
public Dialog onCreateDialog(int id) {
|
||||||
Dialog d;
|
final Calendar calendar = Calendar.getInstance();
|
||||||
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case DIALOG_DATEPICKER: {
|
case DIALOG_DATEPICKER:
|
||||||
final Calendar calendar = Calendar.getInstance();
|
DatePickerDialog d = new DatePickerDialog(
|
||||||
d = new DatePickerDialog(
|
getActivity(),
|
||||||
getActivity(),
|
this,
|
||||||
this,
|
calendar.get(Calendar.YEAR),
|
||||||
calendar.get(Calendar.YEAR),
|
calendar.get(Calendar.MONTH),
|
||||||
calendar.get(Calendar.MONTH),
|
calendar.get(Calendar.DAY_OF_MONTH));
|
||||||
calendar.get(Calendar.DAY_OF_MONTH));
|
configureDatePicker(d.getDatePicker());
|
||||||
// The system clock can't represent dates outside this range.
|
return d;
|
||||||
DatePickerDialog datePicker = (DatePickerDialog)d;
|
case DIALOG_TIMEPICKER:
|
||||||
Calendar t = Calendar.getInstance();
|
return new TimePickerDialog(
|
||||||
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(
|
|
||||||
getActivity(),
|
getActivity(),
|
||||||
this,
|
this,
|
||||||
calendar.get(Calendar.HOUR_OF_DAY),
|
calendar.get(Calendar.HOUR_OF_DAY),
|
||||||
calendar.get(Calendar.MINUTE),
|
calendar.get(Calendar.MINUTE),
|
||||||
DateFormat.is24HourFormat(getActivity()));
|
DateFormat.is24HourFormat(getActivity()));
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
d = null;
|
throw new IllegalArgumentException();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
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());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -141,6 +141,7 @@ public class DateTimeSettingsSetupWizard extends Activity
|
|||||||
mDatePicker = (DatePicker)findViewById(R.id.date_picker);
|
mDatePicker = (DatePicker)findViewById(R.id.date_picker);
|
||||||
mDatePicker.setEnabled(!autoDateTimeEnabled);
|
mDatePicker.setEnabled(!autoDateTimeEnabled);
|
||||||
mDatePicker.setCalendarViewShown(false);
|
mDatePicker.setCalendarViewShown(false);
|
||||||
|
DateTimeSettings.configureDatePicker(mDatePicker);
|
||||||
|
|
||||||
mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
|
mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user