|
|
@ -156,8 +156,18 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static long handleMonthlyRepeat(Date original, DateValue startDateAsDV, RRule rrule) {
|
|
|
|
private static long handleMonthlyRepeat(Date original, DateValue startDateAsDV, RRule rrule) {
|
|
|
|
//
|
|
|
|
if (DateUtilities.isEndOfMonth(original)) {
|
|
|
|
return invokeRecurrence(rrule, original, startDateAsDV);
|
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
|
|
|
|
|
cal.setTimeInMillis(original.getTime());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int interval = rrule.getInterval();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cal.add(Calendar.MONTH, interval);
|
|
|
|
|
|
|
|
cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE));
|
|
|
|
|
|
|
|
return cal.getTimeInMillis();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return invokeRecurrence(rrule, original, startDateAsDV);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static Comparator<WeekdayNum> weekdayCompare = new Comparator<WeekdayNum>() {
|
|
|
|
private static Comparator<WeekdayNum> weekdayCompare = new Comparator<WeekdayNum>() {
|
|
|
|