From 3fb5c7b8fac6fd5583da10793d0bfa40bc851ed5 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Wed, 25 May 2016 12:34:55 -0400 Subject: [PATCH] Fix DatePicker.setMin/MaxDate() Previously it would only allow year changes, which... doesn't make sense. Bug: 28953902 Change-Id: I9b15b96662d9d496e11fb426ff23f14b26e90800 --- core/java/android/widget/DatePickerCalendarDelegate.java | 6 ++++-- core/java/android/widget/DatePickerSpinnerDelegate.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index 0a23b34b91953..b15d866df16c9 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -432,7 +432,8 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { public void setMinDate(long minDate) { mTempDate.setTimeInMillis(minDate); if (mTempDate.get(Calendar.YEAR) == mMinDate.get(Calendar.YEAR) - && mTempDate.get(Calendar.DAY_OF_YEAR) != mMinDate.get(Calendar.DAY_OF_YEAR)) { + && mTempDate.get(Calendar.DAY_OF_YEAR) == mMinDate.get(Calendar.DAY_OF_YEAR)) { + // Same day, no-op. return; } if (mCurrentDate.before(mTempDate)) { @@ -453,7 +454,8 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { public void setMaxDate(long maxDate) { mTempDate.setTimeInMillis(maxDate); if (mTempDate.get(Calendar.YEAR) == mMaxDate.get(Calendar.YEAR) - && mTempDate.get(Calendar.DAY_OF_YEAR) != mMaxDate.get(Calendar.DAY_OF_YEAR)) { + && mTempDate.get(Calendar.DAY_OF_YEAR) == mMaxDate.get(Calendar.DAY_OF_YEAR)) { + // Same day, no-op. return; } if (mCurrentDate.after(mTempDate)) { diff --git a/core/java/android/widget/DatePickerSpinnerDelegate.java b/core/java/android/widget/DatePickerSpinnerDelegate.java index d8a3c5638b725..1c116c87f177f 100644 --- a/core/java/android/widget/DatePickerSpinnerDelegate.java +++ b/core/java/android/widget/DatePickerSpinnerDelegate.java @@ -288,7 +288,8 @@ class DatePickerSpinnerDelegate extends AbstractDatePickerDelegate { public void setMinDate(long minDate) { mTempDate.setTimeInMillis(minDate); if (mTempDate.get(Calendar.YEAR) == mMinDate.get(Calendar.YEAR) - && mTempDate.get(Calendar.DAY_OF_YEAR) != mMinDate.get(Calendar.DAY_OF_YEAR)) { + && mTempDate.get(Calendar.DAY_OF_YEAR) == mMinDate.get(Calendar.DAY_OF_YEAR)) { + // Same day, no-op. return; } mMinDate.setTimeInMillis(minDate); @@ -311,7 +312,8 @@ class DatePickerSpinnerDelegate extends AbstractDatePickerDelegate { public void setMaxDate(long maxDate) { mTempDate.setTimeInMillis(maxDate); if (mTempDate.get(Calendar.YEAR) == mMaxDate.get(Calendar.YEAR) - && mTempDate.get(Calendar.DAY_OF_YEAR) != mMaxDate.get(Calendar.DAY_OF_YEAR)) { + && mTempDate.get(Calendar.DAY_OF_YEAR) == mMaxDate.get(Calendar.DAY_OF_YEAR)) { + // Same day, no-op. return; } mMaxDate.setTimeInMillis(maxDate);