diff --git a/api/current.txt b/api/current.txt index 4f5a58ad12fb0..eae9c6ea55a9a 100644 --- a/api/current.txt +++ b/api/current.txt @@ -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); } diff --git a/api/system-current.txt b/api/system-current.txt index d5ec375c113fd..8ba36afdc1fd9 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -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); } diff --git a/api/test-current.txt b/api/test-current.txt index fc91a8e39e46b..eebb28392f190 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -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); } diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index 8613f9989abcc..56a8966ca03ba 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -159,6 +159,16 @@ public class DatePicker extends FrameLayout { mDelegate.init(year, monthOfYear, dayOfMonth, onDateChangedListener); } + /** + * 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. * @@ -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(); @@ -509,6 +521,11 @@ public class DatePicker extends FrameLayout { } } + @Override + public void setOnDateChangedListener(OnDateChangedListener callback) { + mOnDateChangedListener = callback; + } + @Override public void setValidationCallback(ValidationCallback callback) { mValidationCallback = callback; diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index 2fd52b5f1230a..9488d414314e7 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -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()); diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java index f2fc617ccc33e..84165cb09cc46 100644 --- a/core/java/android/widget/TimePicker.java +++ b/core/java/android/widget/TimePicker.java @@ -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; diff --git a/core/java/android/widget/TimePickerClockDelegate.java b/core/java/android/widget/TimePickerClockDelegate.java index c21f1dfe0ed13..a70f2c70f7535 100644 --- a/core/java/android/widget/TimePickerClockDelegate.java +++ b/core/java/android/widget/TimePickerClockDelegate.java @@ -480,11 +480,6 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate { return mIs24Hour; } - @Override - public void setOnTimeChangedListener(TimePicker.OnTimeChangedListener callback) { - mOnTimeChangedListener = callback; - } - @Override public void setEnabled(boolean enabled) { mHourView.setEnabled(enabled); diff --git a/core/java/android/widget/TimePickerSpinnerDelegate.java b/core/java/android/widget/TimePickerSpinnerDelegate.java index b113fd94f21d7..513e8c3d25378 100644 --- a/core/java/android/widget/TimePickerSpinnerDelegate.java +++ b/core/java/android/widget/TimePickerSpinnerDelegate.java @@ -353,11 +353,6 @@ class TimePickerSpinnerDelegate extends TimePicker.AbstractTimePickerDelegate { return mIs24HourView; } - @Override - public void setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener) { - mOnTimeChangedListener = onTimeChangedListener; - } - @Override public void setEnabled(boolean enabled) { mMinuteSpinner.setEnabled(enabled);