diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt b/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt index e3bd0b4da..237f13c3a 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt +++ b/app/src/main/java/com/todoroo/astrid/service/TaskMover.kt @@ -156,10 +156,11 @@ class TaskMover @Inject constructor( val listId = selected.uuid val tasks: MutableMap = HashMap() val root = CaldavTask(id, listId) - for (child in taskDao.fetchChildren(task.id)) { + val children = taskDao.getChildren(id).mapNotNull { taskDao.fetch(it) } + for (child in children) { val newTask = CaldavTask(child.id, listId) val parent = child.parent - newTask.remoteParent = (if (parent == id) root else tasks[parent])?.remoteId + newTask.remoteParent = (if (parent == id) root else tasks[parent])!!.remoteId tasks[child.id] = newTask } caldavDao.insert(task, root, preferences.addTasksToTop()) diff --git a/app/src/main/java/org/tasks/data/TaskDao.kt b/app/src/main/java/org/tasks/data/TaskDao.kt index 4ac07763d..2a4977f2d 100644 --- a/app/src/main/java/org/tasks/data/TaskDao.kt +++ b/app/src/main/java/org/tasks/data/TaskDao.kt @@ -154,10 +154,6 @@ SELECT EXISTS(SELECT 1 FROM tasks WHERE parent > 0 AND deleted = 0) AS hasSubtas @Query("UPDATE tasks SET lastNotified = :timestamp WHERE _id = :id AND lastNotified != :timestamp") abstract suspend fun setLastNotified(id: Long, timestamp: Long): Int - open suspend fun fetchChildren(id: Long): List { - return fetch(getChildren(id)) - } - suspend fun getChildren(id: Long): List { return getChildren(listOf(id)) }