diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2010-03-08 17:14:25 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2010-03-08 17:14:25 -0800 |
| commit | 9161e202d18ff31946fcd320641bc53abdc61afe (patch) | |
| tree | 2f12628bfdd8e973b41b0a0ba346f2c81a04c7e0 /core/java/android/widget/DatePicker.java | |
| parent | f1f90d4abac3f4561b166eb90701cc741cf29ce1 (diff) | |
| parent | e3491b6b5f1d3fb871074766597b275d9f682faa (diff) | |
merge from open-source master
Change-Id: I66d3db4c9ed3f54ce17a8d64ca0c6cce6941cdaa
Diffstat (limited to 'core/java/android/widget/DatePicker.java')
| -rw-r--r-- | core/java/android/widget/DatePicker.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index 9ef5e0b17d42..b3d5f1af58a7 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -94,9 +94,7 @@ public class DatePicker extends FrameLayout { mDayPicker.setOnChangeListener(new OnChangedListener() { public void onChanged(NumberPicker picker, int oldVal, int newVal) { mDay = newVal; - if (mOnDateChangedListener != null) { - mOnDateChangedListener.onDateChanged(DatePicker.this, mYear, mMonth, mDay); - } + notifyDateChanged(); } }); mMonthPicker = (NumberPicker) findViewById(R.id.month); @@ -126,9 +124,7 @@ public class DatePicker extends FrameLayout { mMonth = newVal - 1; // Adjust max day of the month adjustMaxDay(); - if (mOnDateChangedListener != null) { - mOnDateChangedListener.onDateChanged(DatePicker.this, mYear, mMonth, mDay); - } + notifyDateChanged(); updateDaySpinner(); } }); @@ -139,9 +135,7 @@ public class DatePicker extends FrameLayout { mYear = newVal; // Adjust max day for leap years if needed adjustMaxDay(); - if (mOnDateChangedListener != null) { - mOnDateChangedListener.onDateChanged(DatePicker.this, mYear, mMonth, mDay); - } + notifyDateChanged(); updateDaySpinner(); } }); @@ -242,11 +236,14 @@ public class DatePicker extends FrameLayout { } public void updateDate(int year, int monthOfYear, int dayOfMonth) { - mYear = year; - mMonth = monthOfYear; - mDay = dayOfMonth; - updateSpinners(); - reorderPickers(new DateFormatSymbols().getShortMonths()); + if (mYear != year || mMonth != monthOfYear || mDay != dayOfMonth) { + mYear = year; + mMonth = monthOfYear; + mDay = dayOfMonth; + updateSpinners(); + reorderPickers(new DateFormatSymbols().getShortMonths()); + notifyDateChanged(); + } } private static class SavedState extends BaseSavedState { @@ -388,4 +385,10 @@ public class DatePicker extends FrameLayout { mDay = max; } } + + private void notifyDateChanged() { + if (mOnDateChangedListener != null) { + mOnDateChangedListener.onDateChanged(DatePicker.this, mYear, mMonth, mDay); + } + } } |
