From 9c26b54d3c6b958cb097a32115b9e24780c879e1 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Tue, 16 Sep 2014 13:57:59 -0700 Subject: [PATCH] Fix various bugs in DatePickerCalendarDelegate These bugs were exposed by cts DatePickerTest. Fixes one item in 17459129. Change-Id: Ifab52c6e6e760b75633aa4fe8ccf2d724f587e09 --- core/java/android/widget/DatePicker.java | 12 ++++++------ .../android/widget/DatePickerCalendarDelegate.java | 7 +------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index d77f0b2b6e8c0..ddcf392e1e9d9 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -406,7 +406,7 @@ public class DatePicker extends FrameLayout { @Override protected void onRestoreInstanceState(Parcelable state) { - SavedState ss = (SavedState) state; + BaseSavedState ss = (BaseSavedState) state; super.onRestoreInstanceState(ss.getSuperState()); mDelegate.onRestoreInstanceState(ss); } @@ -504,6 +504,11 @@ public class DatePicker extends FrameLayout { mValidationCallback.onValidationChanged(valid); } } + + @Override + public void dispatchRestoreInstanceState(SparseArray container) { + mDelegator.dispatchThawSelfOnly(container); + } } /** @@ -847,11 +852,6 @@ public class DatePicker extends FrameLayout { setCurrentLocale(newConfig.locale); } - @Override - public void dispatchRestoreInstanceState(SparseArray container) { - mDelegator.dispatchThawSelfOnly(container); - } - @Override public Parcelable onSaveInstanceState(Parcelable superState) { return new SavedState(superState, getYear(), getMonth(), getDayOfMonth()); diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index b962962118cb9..e71b38366baa6 100644 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -528,11 +528,6 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate i mDayFormat = new SimpleDateFormat("d", newConfig.locale); } - @Override - public void dispatchRestoreInstanceState(SparseArray container) { - // Nothing to do - } - @Override public Parcelable onSaveInstanceState(Parcelable superState) { final int year = mCurrentDate.get(Calendar.YEAR); @@ -557,7 +552,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate i public void onRestoreInstanceState(Parcelable state) { SavedState ss = (SavedState) state; - mCurrentDate.set(ss.getSelectedDay(), ss.getSelectedMonth(), ss.getSelectedYear()); + mCurrentDate.set(ss.getSelectedYear(), ss.getSelectedMonth(), ss.getSelectedDay()); mCurrentView = ss.getCurrentView(); mMinDate.setTimeInMillis(ss.getMinDate()); mMaxDate.setTimeInMillis(ss.getMaxDate());