From e1aed0f1afda80007832607f7d0c0d6e606b0ded Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sat, 3 Jun 2023 14:00:53 -0500 Subject: [PATCH] Make CaldavTask.id immutable --- .../com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt | 7 +++++-- .../java/org/tasks/data/CaldavDaoShiftTests.kt | 7 +++++-- .../main/java/com/todoroo/astrid/adapter/TaskAdapter.kt | 2 +- app/src/main/java/org/tasks/caldav/iCalendar.kt | 2 +- app/src/main/java/org/tasks/data/CaldavTask.kt | 2 +- app/src/main/java/org/tasks/data/GoogleTaskDao.kt | 9 +++++++-- 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt b/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt index 334274d38..afcde5c64 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt @@ -202,9 +202,12 @@ class CaldavTaskAdapterTest : InjectingTestCase() { if (task.parent > 0) { caldavTask.remoteParent = caldavDao.getRemoteIdForTask(task.parent) } - caldavTask.id = caldavDao.insert(caldavTask) tasks.add( - t.copy(caldavTask = caldavTask) + t.copy( + caldavTask = caldavTask.copy( + id = caldavDao.insert(caldavTask) + ) + ) ) } } diff --git a/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt b/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt index 1ebe555d3..bc4936efe 100644 --- a/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt +++ b/app/src/androidTest/java/org/tasks/data/CaldavDaoShiftTests.kt @@ -152,9 +152,12 @@ class CaldavDaoShiftTests : InjectingTestCase() { if (task.parent > 0) { caldavTask.remoteParent = caldavDao.getRemoteIdForTask(task.parent) } - caldavTask.id = caldavDao.insert(caldavTask) tasks.add( - t.copy(caldavTask = caldavTask) + t.copy( + caldavTask = caldavTask.copy( + id = caldavDao.insert(caldavTask) + ) + ) ) } } diff --git a/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.kt b/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.kt index 9a243b578..a00d5fccc 100644 --- a/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.kt @@ -302,7 +302,7 @@ open class TaskAdapter( calendar = list, ) newTask.remoteParent = caldavTask.remoteParent - caldavTask.id = caldavDao.insert(newTask) + caldavDao.insert(newTask) } else { caldavDao.update(caldavTask) } diff --git a/app/src/main/java/org/tasks/caldav/iCalendar.kt b/app/src/main/java/org/tasks/caldav/iCalendar.kt index e79468728..4aaffc61a 100644 --- a/app/src/main/java/org/tasks/caldav/iCalendar.kt +++ b/app/src/main/java/org/tasks/caldav/iCalendar.kt @@ -267,7 +267,7 @@ class iCalendar @Inject constructor( caldavTask.lastSync = task.modificationDate } if (isNew) { - caldavTask.id = caldavDao.insert(caldavTask) + caldavDao.insert(caldavTask) Timber.d("NEW %s", caldavTask) } else { caldavDao.update(caldavTask) diff --git a/app/src/main/java/org/tasks/data/CaldavTask.kt b/app/src/main/java/org/tasks/data/CaldavTask.kt index 39b3c1e65..3ba8fd54c 100644 --- a/app/src/main/java/org/tasks/data/CaldavTask.kt +++ b/app/src/main/java/org/tasks/data/CaldavTask.kt @@ -23,7 +23,7 @@ data class CaldavTask( @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "cd_id") @Transient - var id: Long = 0, + val id: Long = 0, @ColumnInfo(name = "cd_task", index = true) @Transient var task: Long, diff --git a/app/src/main/java/org/tasks/data/GoogleTaskDao.kt b/app/src/main/java/org/tasks/data/GoogleTaskDao.kt index fe857456a..d836b5f8a 100644 --- a/app/src/main/java/org/tasks/data/GoogleTaskDao.kt +++ b/app/src/main/java/org/tasks/data/GoogleTaskDao.kt @@ -1,6 +1,11 @@ package org.tasks.data -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.Query +import androidx.room.Transaction +import androidx.room.Update import com.todoroo.astrid.data.Task import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS @@ -20,7 +25,7 @@ abstract class GoogleTaskDao { } else { task.order = getBottom(caldavTask.calendar!!, task.parent) } - caldavTask.id = insert(caldavTask) + insert(caldavTask) update(task) }