From ed28d4629335051d1600086f9ead650057f41e8c Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 20 Mar 2013 16:49:02 -0700 Subject: [PATCH] First draft of keeping tasks assigned to me on the new list after unauthorized --- .../todoroo/astrid/actfm/TagViewFragment.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java index e855b29e9..5f25ecc0e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java @@ -84,6 +84,7 @@ import com.todoroo.astrid.service.ThemeService; import com.todoroo.astrid.subtasks.SubtasksTagListFragment; import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagMemberMetadata; +import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService.Tag; import com.todoroo.astrid.tags.TaskToTagMetadata; import com.todoroo.astrid.utility.AstridPreferences; @@ -115,6 +116,8 @@ public class TagViewFragment extends TaskListFragment { @Autowired TagDataService tagDataService; + @Autowired TagService tagService; + @Autowired TagDataDao tagDataDao; @Autowired ActFmSyncService actFmSyncService; @@ -407,8 +410,23 @@ public class TagViewFragment extends TaskListFragment { tagData.clearValue(TagData.USER_ID); tagData.clearValue(TagData.DELETION_DATE); tagData.setValue(TagData.CREATION_DATE, DateUtilities.now()); - tagDataDao.createNew(tagData); + String newUuid = tagData.getUuid(); + + TodorooCursor tasks = taskService.fetchFiltered(filter.getSqlQuery(), null, Task.ID, Task.UUID, Task.USER_ID); + try { + Task t = new Task(); + for (tasks.moveToFirst(); !tasks.isAfterLast(); tasks.moveToNext()) { + t.clear(); + t.readFromCursor(tasks); + if (Task.USER_ID_SELF.equals(t.getValue(Task.USER_ID))) { + tagService.createLink(t, tagName, newUuid); + } + } + } finally { + tasks.close(); + } + Filter newFilter = TagFilterExposer.filterFromTagData(tla, tagData); tla.onFilterItemClicked(newFilter); }