Fix incorrect leap year logic

Fixing an issue for 2100 in SimpleMonthView.

Tweak the logic in DatePickerCalendarDelegate to optimize
for the common case and save a calculation.

Bug: 28784177
Test: build only
Change-Id: I7395ab9f3dc90ac4f7cef1edee6f7bc156f4ab76
This commit is contained in:
Neil Fuller
2019-04-17 15:54:22 +01:00
parent ca13216bd1
commit 6c0984a71c
2 changed files with 2 additions and 2 deletions

View File

@@ -597,7 +597,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
case Calendar.NOVEMBER:
return 30;
case Calendar.FEBRUARY:
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 29 : 28;
return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) ? 29 : 28;
default:
throw new IllegalArgumentException("Invalid Month");
}

View File

@@ -850,7 +850,7 @@ class SimpleMonthView extends View {
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");
}