From 395cba2705ba74d75d1725322a681514b5ae7f81 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 27 May 2020 09:28:44 -0500 Subject: [PATCH] Don't change task order if parent doesnt change --- .../astrid/adapter/CaldavTaskAdapter.kt | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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 {