| Index: ui/android/java/src/org/chromium/ui/picker/MultiFieldTimePickerDialog.java
|
| diff --git a/ui/android/java/src/org/chromium/ui/picker/MultiFieldTimePickerDialog.java b/ui/android/java/src/org/chromium/ui/picker/MultiFieldTimePickerDialog.java
|
| index f8647ec24d2d9e0811b1cea542154f6bd8bbf8fb..43cee0e852e09c0891fb5020e72441fabe713cb1 100644
|
| --- a/ui/android/java/src/org/chromium/ui/picker/MultiFieldTimePickerDialog.java
|
| +++ b/ui/android/java/src/org/chromium/ui/picker/MultiFieldTimePickerDialog.java
|
| @@ -247,12 +247,12 @@ public class MultiFieldTimePickerDialog
|
| }
|
|
|
| private void notifyDateSet() {
|
| - int hour = mHourSpinner.getValue();
|
| - int minute = mMinuteSpinner.getValue();
|
| - int sec = mSecSpinner.getValue();
|
| - int milli = mMilliSpinner.getValue() * mStep + mBaseMilli;
|
| + int hour = getPickerValue(mHourSpinner);
|
| + int minute = getPickerValue(mMinuteSpinner);
|
| + int sec = getPickerValue(mSecSpinner);
|
| + int milli = getPickerValue(mMilliSpinner) * mStep + mBaseMilli;
|
| if (!mIs24hourFormat) {
|
| - int ampm = mAmPmSpinner.getValue();
|
| + int ampm = getPickerValue(mAmPmSpinner);
|
| if (hour == 12) {
|
| hour = 0;
|
| }
|
| @@ -261,6 +261,15 @@ public class MultiFieldTimePickerDialog
|
| mListener.onTimeSet(hour, minute, sec, milli);
|
| }
|
|
|
| + /**
|
| + * Clear focus before retrieving so that values inserted with
|
| + * keyboard are taken into account.
|
| + */
|
| + private int getPickerValue(NumberPicker picker) {
|
| + picker.clearFocus();
|
| + return picker.getValue();
|
| + }
|
| +
|
| private static class NumberFormatter implements NumberPicker.Formatter {
|
| private final String mFormat;
|
|
|
|
|