diff --git a/app/src/androidTest/java/org/tasks/opentasks/OpenTasksPropertiesTests.kt b/app/src/androidTest/java/org/tasks/opentasks/OpenTasksPropertiesTests.kt index d02504e8d..3a0850e29 100644 --- a/app/src/androidTest/java/org/tasks/opentasks/OpenTasksPropertiesTests.kt +++ b/app/src/androidTest/java/org/tasks/opentasks/OpenTasksPropertiesTests.kt @@ -8,8 +8,8 @@ import kotlinx.coroutines.runBlocking import org.junit.Assert.* import org.junit.Test import org.tasks.caldav.iCalendar.Companion.collapsed -import org.tasks.caldav.iCalendar.Companion.getParent import org.tasks.caldav.iCalendar.Companion.order +import org.tasks.caldav.iCalendar.Companion.parent import org.tasks.data.TagDao import org.tasks.data.TagDataDao import org.tasks.injection.ProductionModule @@ -59,7 +59,7 @@ class OpenTasksPropertiesTests : OpenTasksTest() { synchronizer.sync() - assertEquals("1234", openTaskDao.getTask(listId, "abcd")?.task?.getParent()) + assertEquals("1234", openTaskDao.getTask(listId, "abcd")?.task?.parent) } @Test diff --git a/app/src/main/java/com/todoroo/astrid/service/Upgrader.kt b/app/src/main/java/com/todoroo/astrid/service/Upgrader.kt index e63377b8d..d780b0aa3 100644 --- a/app/src/main/java/com/todoroo/astrid/service/Upgrader.kt +++ b/app/src/main/java/com/todoroo/astrid/service/Upgrader.kt @@ -14,8 +14,8 @@ import org.tasks.R import org.tasks.Strings.isNullOrEmpty import org.tasks.caldav.iCalendar import org.tasks.caldav.iCalendar.Companion.fromVtodo -import org.tasks.caldav.iCalendar.Companion.getParent import org.tasks.caldav.iCalendar.Companion.order +import org.tasks.caldav.iCalendar.Companion.parent import org.tasks.data.* import org.tasks.preferences.DefaultFilterProvider import org.tasks.preferences.Preferences @@ -154,7 +154,7 @@ class Upgrader @Inject constructor( val updated: MutableList = ArrayList() for (task in upgraderDao.tasksWithVtodos().map(CaldavTaskContainer::caldavTask)) { val remoteTask = fromVtodo(task.vtodo!!) ?: continue - task.remoteParent = remoteTask.getParent() + task.remoteParent = remoteTask.parent if (!isNullOrEmpty(task.remoteParent)) { updated.add(task) } diff --git a/app/src/main/java/org/tasks/caldav/iCalendar.kt b/app/src/main/java/org/tasks/caldav/iCalendar.kt index 4f8900698..6cfe31ad0 100644 --- a/app/src/main/java/org/tasks/caldav/iCalendar.kt +++ b/app/src/main/java/org/tasks/caldav/iCalendar.kt @@ -158,7 +158,7 @@ class iCalendar @Inject constructor( caldavTask.vtodo = vtodo caldavTask.etag = eTag caldavTask.lastSync = task.modificationDate - caldavTask.remoteParent = remote.getParent() + caldavTask.remoteParent = remote.parent caldavTask.order = remote.order if (caldavTask.id == com.todoroo.astrid.data.Task.NO_ID) { caldavTask.id = caldavDao.insert(caldavTask) @@ -225,28 +225,24 @@ class iCalendar @Inject constructor( return null } - private fun Task.getParents(): List = relatedTo.filter(IS_PARENT) - - fun Task.getParent(): String? { - return relatedTo.find(IS_PARENT)?.value - } - - fun Task.setParent(value: String?) { - val parents = getParents() - when { - value.isNullOrBlank() -> relatedTo.removeAll(parents) - parents.isEmpty() -> relatedTo.add(RelatedTo(value)) - else -> { - if (parents.size > 1) { - relatedTo.removeAll(parents.drop(1)) - } - parents[0].let { - it.value = value - it.parameters.replace(RelType.PARENT) + var Task.parent: String? + get() = relatedTo.find(IS_PARENT)?.value + set(value) { + val parents = relatedTo.filter(IS_PARENT) + when { + value.isNullOrBlank() -> relatedTo.removeAll(parents) + parents.isEmpty() -> relatedTo.add(RelatedTo(value)) + else -> { + if (parents.size > 1) { + relatedTo.removeAll(parents.drop(1)) + } + parents[0].let { + it.value = value + it.parameters.replace(RelType.PARENT) + } } } } - } var Task.order: Long? get() = unknownProperties.find(IS_APPLE_SORT_ORDER).let { it?.value?.toLongOrNull() } @@ -359,7 +355,7 @@ class iCalendar @Inject constructor( if (priority < 5) max(1, priority) else 1 else -> if (priority > 5) min(9, priority) else 9 } - setParent(if (task.parent == 0L) null else caldavTask.remoteParent) + parent = if (task.parent == 0L) null else caldavTask.remoteParent order = caldavTask.order collapsed = task.isCollapsed }