From 2d8ee0ad962318f51c68eb9fc4cf8a8ccd693a7f Mon Sep 17 00:00:00 2001 From: Tim Su Date: Wed, 22 Feb 2012 20:09:40 -0800 Subject: [PATCH] Fix for not completing down the chain in cascading mode --- .../astrid/subtasks/SubtasksFragmentHelper.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksFragmentHelper.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksFragmentHelper.java index 506cadd75..516395f66 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksFragmentHelper.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksFragmentHelper.java @@ -221,15 +221,18 @@ public class SubtasksFragmentHelper { final long itemId = item.getId(); final Task model = new Task(); - model.setValue(Task.COMPLETION_DATE, completedState ? DateUtilities.now() : 0); + final long completionDate = completedState ? DateUtilities.now() : 0; if(completedState == false) { ArrayList chained = chainedCompletions.get(itemId); if(chained != null) { for(Long taskId : chained) { - taskAdapter.getCompletedItems().put(taskId, false); model.setId(taskId); + model.setValue(Task.COMPLETION_DATE, completionDate); taskService.save(model); + model.clear(); + + taskAdapter.getCompletedItems().put(taskId, false); } taskAdapter.notifyDataSetInvalidated(); } @@ -241,7 +244,10 @@ public class SubtasksFragmentHelper { @Override public void visitNode(Node node) { model.setId(node.taskId); + model.setValue(Task.COMPLETION_DATE, completionDate); taskService.save(model); + model.clear(); + taskAdapter.getCompletedItems().put(node.taskId, true); chained.add(node.taskId); }