From e7447982b11f2800eb5a7eaa2c045693ac942cb9 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Fri, 6 Aug 2010 02:16:59 -0700 Subject: [PATCH] Fix for AST-164 - repeat completion clears timer, makes old task not have recurrence --- .../todoroo/astrid/repeats/RepeatTaskCompleteListener.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java index ac17ffba7..64e37d979 100644 --- a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java +++ b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java @@ -107,10 +107,17 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver { hideUntil += newDueDate - task.getValue(Task.DUE_DATE); } + // clear recurrence from completed task so it can be re-commpleted + task.setValue(Task.RECURRENCE, ""); //$NON-NLS-1$ + taskService.save(task, false); + + // clone to create new task task = taskService.clone(task); task.setValue(Task.DUE_DATE, newDueDate); task.setValue(Task.HIDE_UNTIL, hideUntil); task.setValue(Task.COMPLETION_DATE, 0L); + task.setValue(Task.TIMER_START, 0L); + task.setValue(Task.ELAPSED_SECONDS, 0); taskService.save(task, false); } catch (ParseException e) { exceptionService.reportError("recurrence-rule: " + recurrence, e); //$NON-NLS-1$