diff options
Diffstat (limited to 'core/java/android/app/TimePickerDialog.java')
| -rw-r--r-- | core/java/android/app/TimePickerDialog.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/app/TimePickerDialog.java b/core/java/android/app/TimePickerDialog.java index ac74ca1ffb4b..8a53e083480f 100644 --- a/core/java/android/app/TimePickerDialog.java +++ b/core/java/android/app/TimePickerDialog.java @@ -64,6 +64,8 @@ public class TimePickerDialog extends AlertDialog int mInitialMinute; boolean mIs24HourView; + private boolean mIsCanceled; + /** * @param context Parent. * @param callBack How parent is notified. @@ -124,10 +126,13 @@ public class TimePickerDialog extends AlertDialog mTimePicker.setDismissCallback(new TimePicker.TimePickerDismissCallback() { @Override public void dismiss(TimePicker view, boolean isCancel, int hourOfDay, int minute) { + mIsCanceled = isCancel; if (!isCancel) { mTimeSetCallback.onTimeSet(view, hourOfDay, minute); + TimePickerDialog.this.dismiss(); + } else { + TimePickerDialog.this.cancel(); } - TimePickerDialog.this.dismiss(); } }); mTimePicker.setIs24HourView(mIs24HourView); @@ -150,7 +155,7 @@ public class TimePickerDialog extends AlertDialog } private void tryNotifyTimeSet() { - if (mTimeSetCallback != null) { + if (mTimeSetCallback != null && !mIsCanceled) { mTimePicker.clearFocus(); mTimeSetCallback.onTimeSet(mTimePicker, mTimePicker.getCurrentHour(), mTimePicker.getCurrentMinute()); |
