From 4456dfc143b63306ce88ae997c86a51de5467222 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 22 Jan 2013 16:00:10 -0800 Subject: [PATCH] Suppress outstanding entries when creating new tag links during sync --- .../com/todoroo/astrid/actfm/sync/messages/MakeChanges.java | 2 +- astrid/plugin-src/com/todoroo/astrid/tags/TagService.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/messages/MakeChanges.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/messages/MakeChanges.java index 9db8fde4a..09860e4cb 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/messages/MakeChanges.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/messages/MakeChanges.java @@ -174,7 +174,7 @@ public class MakeChanges extends ServerToClientMessage for (int i = 0; i < addTags.length(); i++) { try { String tagUuid = addTags.getString(i); - tagService.createLink(model.getId(), uuid, tagUuid); + tagService.createLink(model.getId(), uuid, tagUuid, true); } catch (JSONException e) { // } diff --git a/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java b/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java index 662b95e9a..1de2d1709 100644 --- a/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java +++ b/astrid/plugin-src/com/todoroo/astrid/tags/TagService.java @@ -39,6 +39,7 @@ import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.RemoteModel; +import com.todoroo.astrid.data.SyncFlags; import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.TaskApiDao; @@ -269,7 +270,7 @@ public final class TagService { * @param taskUuid * @param tagUuid */ - public void createLink(long taskId, String taskUuid, String tagUuid) { + public void createLink(long taskId, String taskUuid, String tagUuid, boolean suppressOutstanding) { TodorooCursor existingTag = tagDataService.query(Query.select(TagData.NAME, TagData.UUID).where(TagData.UUID.eq(tagUuid))); try { TagData tagData; @@ -283,6 +284,8 @@ public final class TagService { Metadata link = TagMetadata.newTagMetadata(taskId, taskUuid, name, tagUuid); if (metadataDao.update(Criterion.and(MetadataCriteria.byTaskAndwithKey(taskId, TagMetadata.KEY), TagMetadata.TASK_UUID.eq(taskUuid), TagMetadata.TAG_UUID.eq(tagUuid)), link) <= 0) { + if (suppressOutstanding) + link.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true); metadataDao.createNew(link); }