From f39a998630f2ceb9a8b6e04963a27e3b563f4c24 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 18 Sep 2019 11:53:28 -0500 Subject: [PATCH] Change Tag constructor arguments --- .../com/todoroo/astrid/backup/TasksXmlImporter.java | 2 +- .../java/com/todoroo/astrid/service/TaskCreator.java | 3 +-- .../com/todoroo/astrid/service/TaskDuplicator.java | 2 +- .../java/com/todoroo/astrid/tags/TagsControlSet.java | 7 ++++--- app/src/main/java/org/tasks/data/Tag.java | 12 +++++++++--- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java b/app/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java index 55a5e4b8e..1bf06b113 100755 --- a/app/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java +++ b/app/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java @@ -262,7 +262,7 @@ public class TasksXmlImporter { String name = xml.readString("value"); String tagUid = xml.readString("value2"); if (tagDao.getTagByTaskAndTagUid(currentTask.getId(), tagUid) == null) { - tagDao.insert(new Tag(currentTask.getId(), currentTask.getUuid(), name, tagUid)); + tagDao.insert(new Tag(currentTask, name, tagUid)); } // Construct the TagData from Metadata // Fix for failed backup, Version before 4.6.10 diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java index d07470378..750338380 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java +++ b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java @@ -201,8 +201,7 @@ public class TaskCreator { tagData.setName(tag); tagDataDao.createNew(tagData); } - Tag link = new Tag(task.getId(), task.getUuid(), tagData.getName(), tagData.getRemoteId()); - tagDao.insert(link); + tagDao.insert(new Tag(task, tagData)); } } } diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java b/app/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java index 09cb6488a..1c968aaf0 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java +++ b/app/src/main/java/com/todoroo/astrid/service/TaskDuplicator.java @@ -70,7 +70,7 @@ public class TaskDuplicator { tagDao.insert( transform( - tags, tag -> new Tag(clone.getId(), clone.getUuid(), tag.getName(), tag.getTagUid()))); + tags, tag -> new Tag(clone, tag.getName(), tag.getTagUid()))); if (googleTask != null) { googleTaskDao.insertAndShift( diff --git a/app/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java b/app/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java index 8efe97cea..b3099710d 100644 --- a/app/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java +++ b/app/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java @@ -171,7 +171,7 @@ public final class TagsControlSet extends TaskEditControlFragment { @Override public void apply(Task task) { - if (synchronizeTags(task.getId(), task.getUuid())) { + if (synchronizeTags(task)) { Flags.set(Flags.TAGS_CHANGED); task.setModificationDate(DateUtilities.now()); } @@ -367,7 +367,8 @@ public final class TagsControlSet extends TaskEditControlFragment { } } - private boolean synchronizeTags(long taskId, String taskUuid) { + private boolean synchronizeTags(Task task) { + long taskId = task.getId(); for (TagData tagData : selectedTags) { if (Task.NO_UUID.equals(tagData.getRemoteId())) { tagDataDao.createNew(tagData); @@ -380,7 +381,7 @@ public final class TagsControlSet extends TaskEditControlFragment { ArrayList toRemove = newArrayList(filter(removed, notNull())); tagDao.deleteTags(taskId, transform(toRemove, TagData::getRemoteId)); for (TagData tagData : added) { - Tag newLink = new Tag(taskId, taskUuid, tagData.getName(), tagData.getRemoteId()); + Tag newLink = new Tag(task, tagData); tagDao.insert(newLink); } return !removed.isEmpty() || !added.isEmpty(); diff --git a/app/src/main/java/org/tasks/data/Tag.java b/app/src/main/java/org/tasks/data/Tag.java index 83deaa65e..c7e6ba807 100644 --- a/app/src/main/java/org/tasks/data/Tag.java +++ b/app/src/main/java/org/tasks/data/Tag.java @@ -7,6 +7,7 @@ import androidx.room.Ignore; import androidx.room.PrimaryKey; import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Table; +import com.todoroo.astrid.data.Task; import org.tasks.backup.XmlReader; @Entity(tableName = "tags") @@ -38,9 +39,14 @@ public class Tag { public Tag() {} @Ignore - public Tag(long task, String taskUid, String name, String tagUid) { - this.task = task; - this.taskUid = taskUid; + public Tag(Task task, TagData tagData) { + this(task, tagData.getName(), tagData.getRemoteId()); + } + + @Ignore + public Tag(Task task, String name, String tagUid) { + this.task = task.getId(); + this.taskUid = task.getUuid(); this.name = name; this.tagUid = tagUid; }