diff options
| author | Alan Viverette <alanv@google.com> | 2014-08-15 14:20:35 -0700 |
|---|---|---|
| committer | Alan Viverette <alanv@google.com> | 2014-08-15 14:20:35 -0700 |
| commit | 518ff0de95e64116ecb07706fc564d4c19197ca7 (patch) | |
| tree | 671ae5da4fcb42c9fdfb7da9f96005a37aa80eea /core/java/android/widget/TimePicker.java | |
| parent | 4473ec5a5b39248377ce1596cdae83715b513413 (diff) | |
Fix date and time picker styling
Removes done buttons from widgets, fixes date picker day selection, fixes
dialog layouts in landscape, updates colors. Adds API on AlertDialog for
setting the view by resource ID, which is necessary to correctly inflate
the view against the dialog's parent view.
BUG: 16941550
BUG: 16852521
BUG: 16878697
BUG: 16838659
BUG: 17047435
Change-Id: I138858ce06cd4abf68a2c3361ec170370236b33b
Diffstat (limited to 'core/java/android/widget/TimePicker.java')
| -rw-r--r-- | core/java/android/widget/TimePicker.java | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java index c48866692190..85cf67b90e5e 100644 --- a/core/java/android/widget/TimePicker.java +++ b/core/java/android/widget/TimePicker.java @@ -16,6 +16,7 @@ package android.widget; +import android.annotation.Nullable; import android.annotation.Widget; import android.content.Context; import android.content.res.Configuration; @@ -80,7 +81,7 @@ public class TimePicker extends FrameLayout { final TypedArray a = context.obtainStyledAttributes( attrs, R.styleable.TimePicker, defStyleAttr, defStyleRes); - int mode = a.getInt(R.styleable.TimePicker_timePickerMode, MODE_SPINNER); + final int mode = a.getInt(R.styleable.TimePicker_timePickerMode, MODE_SPINNER); a.recycle(); switch (mode) { @@ -149,6 +150,16 @@ public class TimePicker extends FrameLayout { mDelegate.setOnTimeChangedListener(onTimeChangedListener); } + /** + * Sets the callback that indicates the current time is valid. + * + * @param callback the callback, may be null + * @hide + */ + public void setValidationCallback(@Nullable ValidationCallback callback) { + mDelegate.setValidationCallback(callback); + } + @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); @@ -160,27 +171,6 @@ public class TimePicker extends FrameLayout { return mDelegate.isEnabled(); } - /** - * @hide - */ - public void setShowDoneButton(boolean showDoneButton) { - mDelegate.setShowDoneButton(showDoneButton); - } - - /** - * @hide - */ - public boolean isShowDoneButton() { - return mDelegate.isShowDoneButton(); - } - - /** - * @hide - */ - public void setDismissCallback(TimePickerDismissCallback callback) { - mDelegate.setDismissCallback(callback); - } - @Override public int getBaseline() { return mDelegate.getBaseline(); @@ -244,14 +234,11 @@ public class TimePicker extends FrameLayout { boolean is24HourView(); void setOnTimeChangedListener(OnTimeChangedListener onTimeChangedListener); + void setValidationCallback(ValidationCallback callback); void setEnabled(boolean enabled); boolean isEnabled(); - boolean isShowDoneButton(); - void setShowDoneButton(boolean showDoneButton); - void setDismissCallback(TimePickerDismissCallback callback); - int getBaseline(); void onConfigurationChanged(Configuration newConfig); @@ -266,12 +253,13 @@ public class TimePicker extends FrameLayout { } /** - * A callback interface for dismissing the TimePicker when included into a Dialog + * A callback interface for updating input validity when the TimePicker + * when included into a Dialog. * * @hide */ - public static interface TimePickerDismissCallback { - void dismiss(TimePicker view, boolean isCancel, int hourOfDay, int minute); + public static interface ValidationCallback { + void onValidationChanged(boolean valid); } /** @@ -288,7 +276,8 @@ public class TimePicker extends FrameLayout { protected Locale mCurrentLocale; // Callbacks - protected OnTimeChangedListener mOnTimeChangedListener; + protected OnTimeChangedListener mOnTimeChangedListener; + protected ValidationCallback mValidationCallback; public AbstractTimePickerDelegate(TimePicker delegator, Context context) { mDelegator = delegator; @@ -304,5 +293,16 @@ public class TimePicker extends FrameLayout { } mCurrentLocale = locale; } + + @Override + public void setValidationCallback(ValidationCallback callback) { + mValidationCallback = callback; + } + + protected void onValidationChanged(boolean valid) { + if (mValidationCallback != null) { + mValidationCallback.onValidationChanged(valid); + } + } } } |
