OSDN Git Service

Add setOnDateChangedListener to DatePicker
authorClara Bayarri <clarabayarri@google.com>
Thu, 2 Jun 2016 13:56:18 +0000 (14:56 +0100)
committerClara Bayarri <clarabayarri@google.com>
Fri, 3 Jun 2016 14:42:06 +0000 (15:42 +0100)
Also refactor slightly the hierarchy in TimePicker to use the
common parent AbstractTimePickerDelegate in the same way as
DatePicker.

Bug: 28310875
Change-Id: Iecaf206ba1691e26d4496014dc1d13f070c4722a

api/current.txt
api/system-current.txt
api/test-current.txt
core/java/android/widget/DatePicker.java
core/java/android/widget/DatePickerCalendarDelegate.java
core/java/android/widget/TimePicker.java
core/java/android/widget/TimePickerClockDelegate.java
core/java/android/widget/TimePickerSpinnerDelegate.java

index 4f5a58a..eae9c6e 100644 (file)
@@ -46533,6 +46533,7 @@ package android.widget {
     method public void setFirstDayOfWeek(int);
     method public void setMaxDate(long);
     method public void setMinDate(long);
+    method public void setOnDateChangedListener(android.widget.DatePicker.OnDateChangedListener);
     method public deprecated void setSpinnersShown(boolean);
     method public void updateDate(int, int, int);
   }
index d5ec375..8ba36af 100644 (file)
@@ -49888,6 +49888,7 @@ package android.widget {
     method public void setFirstDayOfWeek(int);
     method public void setMaxDate(long);
     method public void setMinDate(long);
+    method public void setOnDateChangedListener(android.widget.DatePicker.OnDateChangedListener);
     method public deprecated void setSpinnersShown(boolean);
     method public void updateDate(int, int, int);
   }
index fc91a8e..eebb283 100644 (file)
@@ -46614,6 +46614,7 @@ package android.widget {
     method public void setFirstDayOfWeek(int);
     method public void setMaxDate(long);
     method public void setMinDate(long);
+    method public void setOnDateChangedListener(android.widget.DatePicker.OnDateChangedListener);
     method public deprecated void setSpinnersShown(boolean);
     method public void updateDate(int, int, int);
   }
index 8613f99..56a8966 100644 (file)
@@ -160,6 +160,16 @@ public class DatePicker extends FrameLayout {
     }
 
     /**
+     * Set the callback that indicates the date has been adjusted by the user.
+     *
+     * @param onDateChangedListener How user is notified date is changed by
+     *            user, can be null.
+     */
+    public void setOnDateChangedListener(OnDateChangedListener onDateChangedListener) {
+        mDelegate.setOnDateChangedListener(onDateChangedListener);
+    }
+
+    /**
      * Update the current date.
      *
      * @param year The year.
@@ -441,6 +451,8 @@ public class DatePicker extends FrameLayout {
         void init(int year, int monthOfYear, int dayOfMonth,
                   OnDateChangedListener onDateChangedListener);
 
+        void setOnDateChangedListener(OnDateChangedListener onDateChangedListener);
+
         void updateDate(int year, int month, int dayOfMonth);
 
         int getYear();
@@ -510,6 +522,11 @@ public class DatePicker extends FrameLayout {
         }
 
         @Override
+        public void setOnDateChangedListener(OnDateChangedListener callback) {
+            mOnDateChangedListener = callback;
+        }
+
+        @Override
         public void setValidationCallback(ValidationCallback callback) {
             mValidationCallback = callback;
         }
index 2fd52b5..9488d41 100755 (executable)
@@ -82,8 +82,6 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
     private String mSelectDay;
     private String mSelectYear;
 
-    private DatePicker.OnDateChangedListener mDateChangedListener;
-
     private int mCurrentView = UNINITIALIZED;
 
     private final Calendar mCurrentDate;
@@ -382,7 +380,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
 
         onDateChanged(false, false);
 
-        mDateChangedListener = callBack;
+        mOnDateChangedListener = callBack;
     }
 
     @Override
@@ -397,10 +395,10 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
     private void onDateChanged(boolean fromUser, boolean callbackToClient) {
         final int year = mCurrentDate.get(Calendar.YEAR);
 
-        if (callbackToClient && mDateChangedListener != null) {
+        if (callbackToClient && mOnDateChangedListener != null) {
             final int monthOfYear = mCurrentDate.get(Calendar.MONTH);
             final int dayOfMonth = mCurrentDate.get(Calendar.DAY_OF_MONTH);
-            mDateChangedListener.onDateChanged(mDelegator, year, monthOfYear, dayOfMonth);
+            mOnDateChangedListener.onDateChanged(mDelegator, year, monthOfYear, dayOfMonth);
         }
 
         mDayPickerView.setDate(mCurrentDate.getTimeInMillis());
index f2fc617..84165cb 100644 (file)
@@ -305,6 +305,11 @@ public class TimePicker extends FrameLayout {
             mLocale = context.getResources().getConfiguration().locale;
         }
 
+        @Override
+        public void setOnTimeChangedListener(OnTimeChangedListener callback) {
+            mOnTimeChangedListener = callback;
+        }
+
         protected static class SavedState extends View.BaseSavedState {
             private final int mHour;
             private final int mMinute;
index c21f1df..a70f2c7 100644 (file)
@@ -481,11 +481,6 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate {
     }
 
     @Override
-    public void setOnTimeChangedListener(TimePicker.OnTimeChangedListener callback) {
-        mOnTimeChangedListener = callback;
-    }
-
-    @Override
     public void setEnabled(boolean enabled) {
         mHourView.setEnabled(enabled);
         mMinuteView.setEnabled(enabled);
index b113fd9..513e8c3 100644 (file)
@@ -354,11 +354,6 @@ class TimePickerSpinnerDelegate extends TimePicker.AbstractTimePickerDelegate {
     }
 
     @Override
-    public void setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener) {
-        mOnTimeChangedListener = onTimeChangedListener;
-    }
-
-    @Override
     public void setEnabled(boolean enabled) {
         mMinuteSpinner.setEnabled(enabled);
         if (mDivider != null) {