diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewActivity.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewActivity.java index 73af8dc56..b2a9cf3f4 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewActivity.java @@ -394,7 +394,7 @@ public class TagViewActivity extends TaskListActivity { public void onReceive(Context context, Intent intent) { if(!intent.hasExtra("tag_id")) return; - if(!Long.toString(tagData.getValue(TagData.REMOTE_ID)).equals(intent.getStringExtra("tag_id"))) + if(tagData == null || !Long.toString(tagData.getValue(TagData.REMOTE_ID)).equals(intent.getStringExtra("tag_id"))) return; getActivity().runOnUiThread(new Runnable() { diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java index 823b2c3ab..cc44bad6c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksTaskListUpdater.java @@ -335,17 +335,20 @@ public class GtasksTaskListUpdater { TodorooCursor metadata = metadataDao.query(Query.select(Metadata.PROPERTIES) .where(Criterion.and(Metadata.KEY.eq(GtasksMetadata.METADATA_KEY), GtasksMetadata.LIST_ID.eq(listId), GtasksMetadata.PARENT_TASK.eq(parent))) .orderBy(Order.asc(GtasksMetadata.GTASKS_ORDER))); - - if (metadata.getCount() > 0) { - Metadata curr = new Metadata(); - for (metadata.moveToFirst(); !metadata.isAfterLast(); metadata.moveToNext()) { - curr.readFromCursor(metadata); - curr.setValue(GtasksMetadata.INDENT, indentLevel); - curr.setValue(GtasksMetadata.ORDER, order.getAndIncrement()); - metadataDao.saveExisting(curr); - - orderAndIndentHelper(listId, order, curr.getValue(Metadata.TASK), indentLevel + 1); + try { + if (metadata.getCount() > 0) { + Metadata curr = new Metadata(); + for (metadata.moveToFirst(); !metadata.isAfterLast(); metadata.moveToNext()) { + curr.readFromCursor(metadata); + curr.setValue(GtasksMetadata.INDENT, indentLevel); + curr.setValue(GtasksMetadata.ORDER, order.getAndIncrement()); + metadataDao.saveExisting(curr); + + orderAndIndentHelper(listId, order, curr.getValue(Metadata.TASK), indentLevel + 1); + } } + } finally { + metadata.close(); } }