diff --git a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java index 926001786..c69be879e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java +++ b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java @@ -156,8 +156,18 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver { } private static long handleMonthlyRepeat(Date original, DateValue startDateAsDV, RRule rrule) { - // - return invokeRecurrence(rrule, original, startDateAsDV); + if (DateUtilities.isEndOfMonth(original)) { + 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 weekdayCompare = new Comparator() {