Started building better monthly repeat logic

pull/14/head
Sam Bosley 11 years ago
parent 87796e95e3
commit bd4348a982

@ -247,6 +247,21 @@ public class DateUtilities {
return DateUtilities.getDateStringHideYear(context, new Date(date));
}
public static boolean isEndOfMonth(Date d) {
int date = d.getDate();
if (date < 28)
return false;
int month = d.getMonth();
if (month == Calendar.FEBRUARY)
return date >= 28;
if (month == Calendar.APRIL || month == Calendar.JUNE || month == Calendar.SEPTEMBER || month == Calendar.NOVEMBER)
return date >= 30;
return date >= 31;
}
/**
* Calls getRelativeDay with abbreviated parameter defaulted to true
*/

@ -127,6 +127,8 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
return handleSubdayRepeat(original, rrule);
else if(rrule.getFreq() == Frequency.WEEKLY && rrule.getByDay().size() > 0 && repeatAfterCompletion)
return handleWeeklyRepeatAfterComplete(rrule, original, task.hasDueTime());
else if (rrule.getFreq() == Frequency.MONTHLY)
return handleMonthlyRepeat(original, startDateAsDV, rrule);
else
return invokeRecurrence(rrule, original, startDateAsDV);
}
@ -153,6 +155,11 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
return Task.createDueDate(Task.URGENCY_SPECIFIC_DAY, time);
}
private static long handleMonthlyRepeat(Date original, DateValue startDateAsDV, RRule rrule) {
//
return invokeRecurrence(rrule, original, startDateAsDV);
}
private static Comparator<WeekdayNum> weekdayCompare = new Comparator<WeekdayNum>() {
@Override
public int compare(WeekdayNum object1, WeekdayNum object2) {

Loading…
Cancel
Save