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); }