From 87879e8ef99e3e57b6c317e8579ebc39174327f7 Mon Sep 17 00:00:00 2001 From: Brian Muramatsu Date: Tue, 1 Feb 2011 17:23:52 -0800 Subject: [PATCH] Fix Incorrect Times in TimePickerDialog Bug 3414311 TimePicker#setCurrentHour subtracts 12 from the given hour if is24HourView returns false. TimePickerDialog calls setCurrentHour before setIs24HourView, so the 12 will always be substracted from the time. Reorder the statements so that TimePickerDialog sets is24HourView, before setting the hour and time. Change-Id: Ib997397b04dbdd767e67806aea7614426019e938 --- core/java/android/app/TimePickerDialog.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/TimePickerDialog.java b/core/java/android/app/TimePickerDialog.java index f9920c77b8c44..a990ee98de519 100644 --- a/core/java/android/app/TimePickerDialog.java +++ b/core/java/android/app/TimePickerDialog.java @@ -107,9 +107,9 @@ public class TimePickerDialog extends AlertDialog mTimePicker = (TimePicker) view.findViewById(R.id.timePicker); // initialize state + mTimePicker.setIs24HourView(mIs24HourView); mTimePicker.setCurrentHour(mInitialHourOfDay); mTimePicker.setCurrentMinute(mInitialMinute); - mTimePicker.setIs24HourView(mIs24HourView); mTimePicker.setOnTimeChangedListener(this); } @@ -144,8 +144,8 @@ public class TimePickerDialog extends AlertDialog super.onRestoreInstanceState(savedInstanceState); int hour = savedInstanceState.getInt(HOUR); int minute = savedInstanceState.getInt(MINUTE); + mTimePicker.setIs24HourView(savedInstanceState.getBoolean(IS_24_HOUR)); mTimePicker.setCurrentHour(hour); mTimePicker.setCurrentMinute(minute); - mTimePicker.setIs24HourView(savedInstanceState.getBoolean(IS_24_HOUR)); } }