diff --git a/src/com/timsu/astrid/activities/TaskList.java b/src/com/timsu/astrid/activities/TaskList.java index e9a007bf7..4ddb573b3 100644 --- a/src/com/timsu/astrid/activities/TaskList.java +++ b/src/com/timsu/astrid/activities/TaskList.java @@ -106,15 +106,6 @@ public class TaskList extends Activity { tagController = new TagController(this); tagController.open(); - tagMap = tagController.getAllTagsAsMap(); - - // check if we want to filter by tag - Bundle extras = getIntent().getExtras(); - if(extras != null && extras.containsKey(TAG_TOKEN)) { - TagIdentifier identifier = new TagIdentifier(extras.getLong(TAG_TOKEN)); - filterTag = tagMap.get(identifier); - } - listView = (ListView)findViewById(R.id.tasklist); addButton = (Button)findViewById(R.id.addtask); addButton.setOnClickListener(new @@ -156,6 +147,14 @@ public class TaskList extends Activity { Cursor tasksCursor; + // load tags (again) + tagMap = tagController.getAllTagsAsMap(); + Bundle extras = getIntent().getExtras(); + if(extras != null && extras.containsKey(TAG_TOKEN)) { + TagIdentifier identifier = new TagIdentifier(extras.getLong(TAG_TOKEN)); + filterTag = tagMap.get(identifier); + } + // get the array of tasks if(filterTag != null) { List tasks = tagController.getTaggedTasks( diff --git a/src/com/timsu/astrid/data/Identifier.java b/src/com/timsu/astrid/data/Identifier.java index 17c8805db..6bd3f15b2 100644 --- a/src/com/timsu/astrid/data/Identifier.java +++ b/src/com/timsu/astrid/data/Identifier.java @@ -28,4 +28,9 @@ public abstract class Identifier { return ((Identifier)o).getId() == getId(); } + + @Override + public String toString() { + return getClass().getSimpleName() + ": " + id; + } } diff --git a/src/com/timsu/astrid/data/tag/TagController.java b/src/com/timsu/astrid/data/tag/TagController.java index fd9cc181c..31d75725f 100644 --- a/src/com/timsu/astrid/data/tag/TagController.java +++ b/src/com/timsu/astrid/data/tag/TagController.java @@ -143,7 +143,7 @@ public class TagController extends AbstractController { return false; return tagDatabase.delete(TAG_TABLE_NAME, - KEY_ROWID + " = " + tagId.toString(), null) > 0; + KEY_ROWID + " = " + tagId.idAsString(), null) > 0; } // --- single tag to task operations diff --git a/src/com/timsu/astrid/data/task/TaskController.java b/src/com/timsu/astrid/data/task/TaskController.java index b9dfbf9b9..819ec5278 100644 --- a/src/com/timsu/astrid/data/task/TaskController.java +++ b/src/com/timsu/astrid/data/task/TaskController.java @@ -55,7 +55,7 @@ public class TaskController extends AbstractController { for(int i = 0; i < idList.size(); i++) { where.append(KEY_ROWID); where.append("="); - where.append(idList.get(i).toString()); + where.append(idList.get(i).idAsString()); if(i < idList.size()-1) where.append(" OR "); }