diff options
| author | Felipe Leme <felipeal@google.com> | 2017-08-10 18:38:44 -0700 |
|---|---|---|
| committer | Felipe Leme <felipeal@google.com> | 2017-08-15 10:42:58 -0700 |
| commit | f480e8cad5e6cf4fed85a944adc01d96f51e966b (patch) | |
| tree | b397ded5cfbc6eb89f0085fd880e1e81d290691f /core/java/android/widget/TimePickerSpinnerDelegate.java | |
| parent | 144d8cb6261b831bebcd2adb1ed73c1e9298190a (diff) | |
Improved autofill support on DatePicker and TimePicker:
- Save autofilled value so UI is properly highlighted.
- Notify TimePicker listener just once.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases
Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.DatePickerTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.TimePickerTest
Fixes: 37098837
Change-Id: I38d64c107f6059b94c92676ea37681006474f519
Diffstat (limited to 'core/java/android/widget/TimePickerSpinnerDelegate.java')
| -rw-r--r-- | core/java/android/widget/TimePickerSpinnerDelegate.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/core/java/android/widget/TimePickerSpinnerDelegate.java b/core/java/android/widget/TimePickerSpinnerDelegate.java index 7a7d9a948dcc..cc79b9c85784 100644 --- a/core/java/android/widget/TimePickerSpinnerDelegate.java +++ b/core/java/android/widget/TimePickerSpinnerDelegate.java @@ -284,6 +284,14 @@ class TimePickerSpinnerDelegate extends TimePicker.AbstractTimePickerDelegate { } @Override + public void setDate(int hour, int minute) { + setCurrentHour(hour, false); + setCurrentMinute(minute, false); + + onTimeChanged(); + } + + @Override public void setHour(int hour) { setCurrentHour(hour, true); } @@ -293,6 +301,7 @@ class TimePickerSpinnerDelegate extends TimePicker.AbstractTimePickerDelegate { if (currentHour == getHour()) { return; } + resetAutofilledValue(); if (!is24Hour()) { // convert [0,23] ordinal to wall clock display if (currentHour >= HOURS_IN_HALF_DAY) { @@ -328,11 +337,18 @@ class TimePickerSpinnerDelegate extends TimePicker.AbstractTimePickerDelegate { @Override public void setMinute(int minute) { + setCurrentMinute(minute, true); + } + + private void setCurrentMinute(int minute, boolean notifyTimeChanged) { if (minute == getMinute()) { return; } + resetAutofilledValue(); mMinuteSpinner.setValue(minute); - onTimeChanged(); + if (notifyTimeChanged) { + onTimeChanged(); + } } @Override |
