From 4f2b9ad2bd4be3240449b9a48a22a90047eebaf1 Mon Sep 17 00:00:00 2001 From: George Mount Date: Fri, 14 May 2021 20:23:37 +0000 Subject: [PATCH] Fixes minimum date in DatePicker Fixes: 158448787 When the day is earlier in than the minimum date, but the year is later, then the year is changed, the date gets set to a day that is earlier than the minimum date. This CL ensures that the year change can't bring the date outside of the range of minimum to maximum dates. Test: manual testing Change-Id: I0034bd513275267ecf9554f673533852e68dd854 --- core/java/android/widget/DatePickerCalendarDelegate.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index 53e145eb15fd0..ec072097f03cc 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -259,6 +259,11 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { } mCurrentDate.set(Calendar.YEAR, year); + if (mCurrentDate.compareTo(mMinDate) < 0) { + mCurrentDate.setTimeInMillis(mMinDate.getTimeInMillis()); + } else if (mCurrentDate.compareTo(mMaxDate) > 0) { + mCurrentDate.setTimeInMillis(mMaxDate.getTimeInMillis()); + } onDateChanged(true, true); // Automatically switch to day picker.