diff --git a/app/src/main/java/com/todoroo/astrid/adapter/CaldavTaskAdapter.kt b/app/src/main/java/com/todoroo/astrid/adapter/CaldavTaskAdapter.kt index 395c56541..0bf800596 100644 --- a/app/src/main/java/com/todoroo/astrid/adapter/CaldavTaskAdapter.kt +++ b/app/src/main/java/com/todoroo/astrid/adapter/CaldavTaskAdapter.kt @@ -24,16 +24,18 @@ open class CaldavTaskAdapter internal constructor(private val taskDao: TaskDao, override fun moved(from: Int, to: Int, indent: Int) { val task = getTask(from) val newParent = changeParent(task, indent, to) - val newPosition = if (newTasksOnTop) { - caldavDao.findFirstTask(task.caldav, newParent) - ?.takeIf { task.creationDate.toAppleEpoch() >= it} - ?.minus(1) - } else { - caldavDao.findLastTask(task.caldav, newParent) - ?.takeIf { task.creationDate.toAppleEpoch() <= it } - ?.plus(1) + if (newParent != task.parent) { + val newPosition = if (newTasksOnTop) { + caldavDao.findFirstTask(task.caldav, newParent) + ?.takeIf { task.creationDate.toAppleEpoch() >= it} + ?.minus(1) + } else { + caldavDao.findLastTask(task.caldav, newParent) + ?.takeIf { task.creationDate.toAppleEpoch() <= it } + ?.plus(1) + } + caldavDao.update(task.caldavTask.cd_id, newPosition) } - caldavDao.update(task.caldavTask.cd_id, newPosition) } internal fun changeParent(task: TaskContainer, indent: Int, to: Int): Long {