diff options
| author | 2019-04-17 08:48:23 +0100 | |
|---|---|---|
| committer | 2019-04-17 08:50:49 +0100 | |
| commit | 9900c52689e876c5e10ca95c49092387231c725e (patch) | |
| tree | d9bc33aa61a7aa1d758dba0d3501bc9947447031 | |
| parent | abc9b9edcc53b5f0cb7c47eac2e8a3be3f97c113 (diff) | |
Fix incorrect leap year logic
Fixing an issue for 2100.
Bug: 28784177
Test: build only
Change-Id: I4579ba2d07b8157f368fd31df5396677156aeeb0
| -rwxr-xr-x | core/java/android/widget/DatePickerCalendarDelegate.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index e40023d0da1d..46edf475e398 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -581,7 +581,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { return DatePicker.class.getName(); } - public static int getDaysInMonth(int month, int year) { + private static int getDaysInMonth(int month, int year) { switch (month) { case Calendar.JANUARY: case Calendar.MARCH: @@ -597,7 +597,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { case Calendar.NOVEMBER: return 30; case Calendar.FEBRUARY: - return (year % 4 == 0) ? 29 : 28; + return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 29 : 28; default: throw new IllegalArgumentException("Invalid Month"); } |