summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Neil Fuller <nfuller@google.com> 2019-04-17 08:48:23 +0100
committer Neil Fuller <nfuller@google.com> 2019-04-17 08:50:49 +0100
commit9900c52689e876c5e10ca95c49092387231c725e (patch)
treed9bc33aa61a7aa1d758dba0d3501bc9947447031
parentabc9b9edcc53b5f0cb7c47eac2e8a3be3f97c113 (diff)
Fix incorrect leap year logic
Fixing an issue for 2100. Bug: 28784177 Test: build only Change-Id: I4579ba2d07b8157f368fd31df5396677156aeeb0
-rwxr-xr-xcore/java/android/widget/DatePickerCalendarDelegate.java4
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");
}