summaryrefslogtreecommitdiff
path: root/core/java/android/widget/DatePicker.java
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2010-03-08 17:14:25 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2010-03-08 17:14:25 -0800
commit9161e202d18ff31946fcd320641bc53abdc61afe (patch)
tree2f12628bfdd8e973b41b0a0ba346f2c81a04c7e0 /core/java/android/widget/DatePicker.java
parentf1f90d4abac3f4561b166eb90701cc741cf29ce1 (diff)
parente3491b6b5f1d3fb871074766597b275d9f682faa (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.java31
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);
+ }
+ }
}