From 8a23a20f6776b7c235ab21c679f827eb4d05599c Mon Sep 17 00:00:00 2001 From: Tim Su Date: Mon, 2 Aug 2010 21:29:42 -0700 Subject: [PATCH] grabbing task completion state from cache --- .../src/com/todoroo/astrid/adapter/TaskAdapter.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 9bd3d4e05..db863c834 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -216,7 +216,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { task.readFromCursor(cursor); setFieldContentsAndVisibility(view); - setTaskAppearance(viewHolder, task.isCompleted()); + setTaskAppearance(viewHolder, task); } /** Helper method to set the visibility based on if there's stuff inside */ @@ -565,6 +565,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { public void notifyDataSetChanged() { super.notifyDataSetChanged(); fontSize = Preferences.getIntegerFromString(R.string.p_fontSize, 20); + completedItems.clear(); } private final View.OnClickListener completeBoxListener = new View.OnClickListener() { @@ -575,7 +576,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { completeTask(task, ((CheckBox)v).isChecked()); // set check box to actual action item state - setTaskAppearance(viewHolder, task.isCompleted()); + setTaskAppearance(viewHolder, task); } }; @@ -642,7 +643,13 @@ public class TaskAdapter extends CursorAdapter implements Filterable { * @param name * @param progress */ - void setTaskAppearance(ViewHolder viewHolder, boolean state) { + void setTaskAppearance(ViewHolder viewHolder, Task task) { + boolean state; + if(completedItems.containsKey(task.getId())) + state = completedItems.get(task.getId()); + else + state = task.isCompleted(); + viewHolder.completeBox.setChecked(state); TextView name = viewHolder.nameView;