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 8cdc59f61..21b936b75 100755 --- a/app/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java +++ b/app/src/main/java/com/todoroo/astrid/backup/TasksXmlImporter.java @@ -292,7 +292,7 @@ public class TasksXmlImporter { tagData = new TagData(); tagData.setRemoteId(tagUid); tagData.setName(name); - tagDataDao.insert(tagData); + tagDataDao.createNew(tagData); } } } else if ("gtasks".equals(key)) { @@ -362,7 +362,7 @@ public class TasksXmlImporter { private void parseTagdata() { TagData tagData = new TagData(new XmlReader(xpp)); if (tagDataDao.getByUuid(tagData.getRemoteId()) == null) { - tagDataDao.insert(tagData); + tagDataDao.createNew(tagData); } } } 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 efd4c459f..283153ae5 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java +++ b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java @@ -135,7 +135,7 @@ public class TaskCreator { return task; } - public static void setDefaultReminders(Preferences preferences, Task task) { + private static void setDefaultReminders(Preferences preferences, Task task) { task.setReminderPeriod(DateUtilities.ONE_HOUR * preferences.getIntegerFromString(R.string.p_rmd_default_random_hours, 0)); @@ -148,7 +148,7 @@ public class TaskCreator { if (tagData == null) { tagData = new TagData(); tagData.setName(tag); - tagDataDao.persist(tagData); + tagDataDao.createNew(tagData); } Tag link = new Tag(task.getId(), task.getUuid(), tagData.getName(), tagData.getRemoteId()); tagDao.insert(link); 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 25df997b5..3eb1b9dbf 100644 --- a/app/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java +++ b/app/src/main/java/com/todoroo/astrid/tags/TagsControlSet.java @@ -383,7 +383,7 @@ public final class TagsControlSet extends TaskEditControlFragment { private boolean synchronizeTags(long taskId, String taskUuid) { for (TagData tagData : selectedTags) { if (Task.NO_UUID.equals(tagData.getRemoteId())) { - tagDataDao.persist(tagData); + tagDataDao.createNew(tagData); } } Set existingHash = newHashSet(tagService.getTagDataForTask(taskUuid)); diff --git a/app/src/main/java/org/tasks/activities/TagSettingsActivity.java b/app/src/main/java/org/tasks/activities/TagSettingsActivity.java index ad7f3f833..a43409e9e 100644 --- a/app/src/main/java/org/tasks/activities/TagSettingsActivity.java +++ b/app/src/main/java/org/tasks/activities/TagSettingsActivity.java @@ -187,13 +187,13 @@ public class TagSettingsActivity extends ThemedInjectingAppCompatActivity implem if (isNewTag) { tagData.setName(newName); tagData.setColor(selectedTheme); - tagDataDao.persist(tagData); + tagDataDao.createNew(tagData); setResult(RESULT_OK, new Intent().putExtra(TaskListActivity.OPEN_FILTER, new TagFilter(tagData))); } else if (hasChanges()) { tagData.setName(newName); tagData.setColor(selectedTheme); tagService.rename(tagData.getRemoteId(), newName); - tagDataDao.persist(tagData); + tagDataDao.update(tagData); tagDao.rename(tagData.getRemoteId(), newName); setResult(RESULT_OK, new Intent(ACTION_RELOAD).putExtra(TaskListActivity.OPEN_FILTER, new TagFilter(tagData))); } diff --git a/app/src/main/java/org/tasks/data/TagDataDao.java b/app/src/main/java/org/tasks/data/TagDataDao.java index f0f0225ab..063c746dd 100644 --- a/app/src/main/java/org/tasks/data/TagDataDao.java +++ b/app/src/main/java/org/tasks/data/TagDataDao.java @@ -4,6 +4,7 @@ import android.arch.persistence.room.Dao; import android.arch.persistence.room.Insert; import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; +import android.arch.persistence.room.Update; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.helper.UUIDHelper; @@ -26,23 +27,23 @@ public abstract class TagDataDao { @Query("SELECT * FROM tagdata WHERE name IS NOT NULL ORDER BY UPPER(name) ASC") public abstract List tagDataOrderedByName(); - @Insert(onConflict = OnConflictStrategy.REPLACE) - public abstract void persist(TagData tagData); - @Query("UPDATE tagdata SET name = :name WHERE remoteId = :remoteId") public abstract void rename(String remoteId, String name); @Query("DELETE FROM tagdata WHERE _id = :id") public abstract void delete(Long id); + @Update + public abstract void update(TagData tagData); + @Insert - public abstract void insert(TagData tag); + abstract long insert(TagData tag); public void createNew(TagData tag) { if (Task.isUuidEmpty(tag.getRemoteId())) { tag.setRemoteId(UUIDHelper.newUUID()); } - insert(tag); + tag.setId(insert(tag)); } }