summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TimePicker.java
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-08-15 14:20:35 -0700
committerAlan Viverette <alanv@google.com>2014-08-15 14:20:35 -0700
commit518ff0de95e64116ecb07706fc564d4c19197ca7 (patch)
tree671ae5da4fcb42c9fdfb7da9f96005a37aa80eea /core/java/android/widget/TimePicker.java
parent4473ec5a5b39248377ce1596cdae83715b513413 (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.java60
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);
+ }
+ }
}
}