diff --git a/app/src/main/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapter.kt b/app/src/main/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapter.kt index 7bd3d6eec..e8be88b56 100644 --- a/app/src/main/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapter.kt +++ b/app/src/main/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapter.kt @@ -48,14 +48,14 @@ class CaldavManualSortTaskAdapter internal constructor( private suspend fun changeParent(task: TaskContainer, newParent: Long) { val caldavTask = task.getCaldavTask() if (newParent == 0L) { - caldavTask.cd_remote_parent = "" + caldavTask.remoteParent = "" task.parent = 0 } else { val parentTask = caldavDao.getTask(newParent) ?: return - caldavTask.cd_remote_parent = parentTask.remoteId + caldavTask.remoteParent = parentTask.remoteId task.parent = newParent } - caldavDao.update(caldavTask.cd_id, caldavTask.cd_remote_parent) + caldavDao.update(caldavTask.id, caldavTask.remoteParent) taskDao.save(task.getTask(), null) } } \ No newline at end of file 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 570de3436..5427e807e 100644 --- a/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.kt +++ b/app/src/main/java/com/todoroo/astrid/adapter/TaskAdapter.kt @@ -246,15 +246,10 @@ open class TaskAdapter( if (newTasksOnTop) 0 else googleTaskDao.getBottom(list, newParent?.id ?: 0) ) } else { - val googleTask = CaldavTask(task.id, list) - googleTask.parent = newParent.id - googleTaskDao.insertAndShift(googleTask, newTasksOnTop) - task.caldavTask = SubsetCaldav().apply { - cd_id = googleTask.id - cd_calendar = googleTask.calendar - cd_order = googleTask.order ?: 0 - gt_parent = googleTask.parent + task.caldavTask = CaldavTask(task.id, list).apply { + parent = newParent.id } + googleTaskDao.insertAndShift(task.caldavTask, newTasksOnTop) } taskDao.touch(task.id) if (BuildConfig.DEBUG) { @@ -264,14 +259,17 @@ open class TaskAdapter( private suspend fun changeCaldavParent(task: TaskContainer, newParent: TaskContainer?) { val list = newParent?.caldav ?: task.caldav!! - val caldavTask = task.getCaldavTask() ?: SubsetCaldav() + val caldavTask = task.getCaldavTask() ?: CaldavTask( + task.id, + list, + ) val newParentId = newParent?.id ?: 0 if (newParentId == 0L) { - caldavTask.cd_remote_parent = "" + caldavTask.remoteParent = "" } else { val parentTask = caldavDao.getTask(newParentId) ?: return - caldavTask.cd_calendar = list - caldavTask.cd_remote_parent = parentTask.remoteId + caldavTask.calendar = list + caldavTask.remoteParent = parentTask.remoteId } task.task.order = if (newTasksOnTop) { caldavDao.findFirstTask(list, newParentId) @@ -282,10 +280,10 @@ open class TaskAdapter( ?.takeIf { task.creationDate.toAppleEpoch() <= it } ?.plus(1) } - if (caldavTask.cd_id == 0L) { + if (caldavTask.id == 0L) { val newTask = CaldavTask(task.id, list) - newTask.remoteParent = caldavTask.cd_remote_parent - caldavTask.cd_id = caldavDao.insert(newTask) + newTask.remoteParent = caldavTask.remoteParent + caldavTask.id = caldavDao.insert(newTask) task.caldavTask = caldavTask } else { caldavDao.update(caldavTask) diff --git a/app/src/main/java/org/tasks/data/CaldavDao.kt b/app/src/main/java/org/tasks/data/CaldavDao.kt index 2bb5400c9..a92ea6953 100644 --- a/app/src/main/java/org/tasks/data/CaldavDao.kt +++ b/app/src/main/java/org/tasks/data/CaldavDao.kt @@ -142,10 +142,6 @@ WHERE cd_calendar = :calendar @Update abstract suspend fun updateTasks(tasks: Iterable) - suspend fun update(caldavTask: SubsetCaldav) { - update(caldavTask.cd_id, caldavTask.cd_remote_parent) - } - @Query("UPDATE caldav_tasks SET cd_remote_parent = :remoteParent WHERE cd_id = :id") internal abstract suspend fun update(id: Long, remoteParent: String?) diff --git a/app/src/main/java/org/tasks/data/GoogleTaskDao.kt b/app/src/main/java/org/tasks/data/GoogleTaskDao.kt index 090af8a28..73df5aa53 100644 --- a/app/src/main/java/org/tasks/data/GoogleTaskDao.kt +++ b/app/src/main/java/org/tasks/data/GoogleTaskDao.kt @@ -38,21 +38,21 @@ abstract class GoogleTaskDao { internal abstract suspend fun shiftUp(listId: String, parent: Long, position: Long) @Transaction - open suspend fun move(task: SubsetCaldav, newParent: Long, newPosition: Long) { - val previousParent = task.gt_parent - val previousPosition = task.cd_order!! + open suspend fun move(task: CaldavTask, newParent: Long, newPosition: Long) { + val previousParent = task.parent + val previousPosition = task.order!! if (newParent == previousParent) { if (previousPosition < newPosition) { - shiftUp(task.cd_calendar!!, newParent, previousPosition, newPosition) + shiftUp(task.calendar!!, newParent, previousPosition, newPosition) } else { - shiftDown(task.cd_calendar!!, newParent, previousPosition, newPosition) + shiftDown(task.calendar!!, newParent, previousPosition, newPosition) } } else { - shiftUp(task.cd_calendar!!, previousParent, previousPosition) - shiftDown(task.cd_calendar!!, newParent, newPosition) + shiftUp(task.calendar!!, previousParent, previousPosition) + shiftDown(task.calendar!!, newParent, newPosition) } - task.gt_parent = newParent - task.cd_order = newPosition + task.parent = newParent + task.order = newPosition update(task) } @@ -65,10 +65,6 @@ abstract class GoogleTaskDao { @Update abstract suspend fun update(googleTask: CaldavTask) - private suspend fun update(googleTask: SubsetCaldav) { - update(googleTask.cd_id, googleTask.gt_parent, googleTask.cd_order!!) - } - @Query("UPDATE caldav_tasks SET cd_order = :order, gt_parent = :parent, gt_moved = 1 WHERE cd_id = :id") abstract suspend fun update(id: Long, parent: Long, order: Long) diff --git a/app/src/main/java/org/tasks/data/SubsetCaldav.kt b/app/src/main/java/org/tasks/data/SubsetCaldav.kt deleted file mode 100644 index fc55e8fa1..000000000 --- a/app/src/main/java/org/tasks/data/SubsetCaldav.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.tasks.data - -class SubsetCaldav { - var cd_id: Long = 0 - var cd_calendar: String? = null - var cd_remote_parent: String? = null - var gt_parent: Long = 0 - var cd_order: Long? = null - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is SubsetCaldav) return false - - if (cd_id != other.cd_id) return false - if (cd_calendar != other.cd_calendar) return false - if (cd_remote_parent != other.cd_remote_parent) return false - if (gt_parent != other.gt_parent) return false - if (cd_order != other.cd_order) return false - - return true - } - - override fun hashCode(): Int { - var result = cd_id.hashCode() - result = 31 * result + (cd_calendar?.hashCode() ?: 0) - result = 31 * result + (cd_remote_parent?.hashCode() ?: 0) - result = 31 * result + (gt_parent.hashCode()) - result = 31 * result + (cd_order.hashCode()) - return result - } - - override fun toString(): String = - "SubsetCaldav(cd_id=$cd_id, cd_calendar=$cd_calendar, cd_remote_parent=$cd_remote_parent, gt_parent=$gt_parent, cd_order=$cd_order)" -} \ No newline at end of file diff --git a/app/src/main/java/org/tasks/data/TaskContainer.java b/app/src/main/java/org/tasks/data/TaskContainer.java index 8348b149b..120e043f8 100644 --- a/app/src/main/java/org/tasks/data/TaskContainer.java +++ b/app/src/main/java/org/tasks/data/TaskContainer.java @@ -7,7 +7,7 @@ import java.util.Objects; public class TaskContainer { @Embedded public Task task; - @Embedded public SubsetCaldav caldavTask; + @Embedded public CaldavTask caldavTask; @Embedded public Location location; public boolean isGoogleTask; public boolean parentComplete; @@ -24,7 +24,10 @@ public class TaskContainer { } public @Nullable String getCaldav() { - return caldavTask.getCd_calendar(); + if (caldavTask != null) { + return caldavTask.getCalendar(); + } + return null; } public boolean isCaldavTask() { @@ -173,7 +176,7 @@ public class TaskContainer { public long getParent() { if (isGoogleTask) { - return caldavTask.getGt_parent(); + return caldavTask.getParent(); } else { return task.getParent(); } @@ -181,7 +184,7 @@ public class TaskContainer { public void setParent(long parent) { if (isGoogleTask) { - caldavTask.setGt_parent(parent); + caldavTask.setParent(parent); } else { task.setParent(parent); } @@ -195,7 +198,7 @@ public class TaskContainer { return children > 0; } - public SubsetCaldav getCaldavTask() { + public CaldavTask getCaldavTask() { return caldavTask; }