summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TimePickerSpinnerDelegate.java
diff options
context:
space:
mode:
authorFelipe Leme <felipeal@google.com>2017-08-10 18:38:44 -0700
committerFelipe Leme <felipeal@google.com>2017-08-15 10:42:58 -0700
commitf480e8cad5e6cf4fed85a944adc01d96f51e966b (patch)
treeb397ded5cfbc6eb89f0085fd880e1e81d290691f /core/java/android/widget/TimePickerSpinnerDelegate.java
parent144d8cb6261b831bebcd2adb1ed73c1e9298190a (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.java18
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