From cc56d80eab59e5a9584da43af1f53dc694a1626e Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 29 Aug 2016 23:28:51 -0500 Subject: [PATCH] Refactor setUpStartDate --- .../repeats/RepeatTaskCompleteListener.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java b/src/main/java/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java index ee0c457e0..43357f0eb 100644 --- a/src/main/java/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java +++ b/src/main/java/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java @@ -243,23 +243,19 @@ public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver { /** Set up repeat start date */ private static DateTime setUpStartDate(Task task, boolean repeatAfterCompletion, Frequency frequency) { - DateTime startDate = newDateTime(); - if(task.hasDueDate()) { - DateTime dueDate = newDateTime(task.getDueDate()); - if(repeatAfterCompletion) { - startDate = newDateTime(task.getCompletionDate()); - } else { - startDate = dueDate; - } - + if (repeatAfterCompletion) { + DateTime startDate = task.isCompleted() ? newDateTime(task.getCompletionDate()) : newDateTime(); if(task.hasDueTime() && frequency != Frequency.HOURLY && frequency != Frequency.MINUTELY) { + DateTime dueDate = newDateTime(task.getDueDate()); startDate = startDate .withHourOfDay(dueDate.getHourOfDay()) .withMinuteOfHour(dueDate.getMinuteOfHour()) .withSecondOfMinute(dueDate.getSecondOfMinute()); } + return startDate; + } else { + return task.hasDueDate() ? newDateTime(task.getDueDate()) : newDateTime(); } - return startDate; } private static DateValue setUpStartDateAsDV(Task task, DateTime startDate) {