From 3a2eafc239bcc6573a77706abce437778a7f4be6 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 18 Oct 2017 11:30:37 -0500 Subject: [PATCH] Fix monthly repeat with no due date --- .../java/com/todoroo/astrid/repeats/RepeatControlSet.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java b/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java index c2843c11a..e55f6c187 100644 --- a/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java +++ b/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java @@ -62,6 +62,7 @@ import static com.google.ical.values.Frequency.MONTHLY; import static com.google.ical.values.Frequency.WEEKLY; import static com.google.ical.values.Frequency.YEARLY; import static org.tasks.repeats.CustomRecurrenceDialog.newCustomRecurrenceDialog; +import static org.tasks.time.DateTimeUtils.currentTimeMillis; /** * Control Set for managing repeats @@ -83,10 +84,10 @@ public class RepeatControlSet extends TaskEditControlFragment } public void onDueDateChanged(long dueDate) { - this.dueDate = dueDate; + this.dueDate = dueDate > 0 ? dueDate : currentTimeMillis(); if (rrule != null && rrule.getFreq() == MONTHLY && !rrule.getByDay().isEmpty()) { WeekdayNum weekdayNum = rrule.getByDay().get(0); - DateTime dateTime = new DateTime(dueDate); + DateTime dateTime = new DateTime(this.dueDate); int num; int dayOfWeekInMonth = dateTime.getDayOfWeekInMonth(); if (weekdayNum.num == -1 || dayOfWeekInMonth == 5) { @@ -311,6 +312,9 @@ public class RepeatControlSet extends TaskEditControlFragment public void initialize(boolean isNewTask, Task task) { repeatAfterCompletion = task.repeatAfterCompletion(); dueDate = task.getDueDate(); + if (dueDate <= 0) { + dueDate = currentTimeMillis(); + } try { rrule = new RRule(task.getRecurrenceWithoutFrom()); rrule.setUntil(new DateTime(task.getRepeatUntil()).toDateValue());