From aece05d7e77792d48114db729d389525f9bf8277 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 13 Jan 2021 16:25:43 -0600 Subject: [PATCH] Move companion object to bottom of file --- .../main/java/org/tasks/caldav/iCalendar.kt | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/org/tasks/caldav/iCalendar.kt b/app/src/main/java/org/tasks/caldav/iCalendar.kt index 56d603d5a..a7f67232a 100644 --- a/app/src/main/java/org/tasks/caldav/iCalendar.kt +++ b/app/src/main/java/org/tasks/caldav/iCalendar.kt @@ -36,73 +36,6 @@ class iCalendar @Inject constructor( private val taskDao: TaskDao, private val caldavDao: CaldavDao) { - companion object { - const val APPLE_SORT_ORDER = "X-APPLE-SORT-ORDER" - private val IS_PARENT = { r: RelatedTo -> - r.parameters.getParameter(Parameter.RELTYPE).let { - it === RelType.PARENT || it == null || it.value.isNullOrBlank() - } - } - - private val IS_APPLE_SORT_ORDER = { x: Property? -> - x?.name.equals(APPLE_SORT_ORDER, true) - } - - fun fromVtodo(vtodo: String): Task? { - try { - val tasks = tasksFromReader(StringReader(vtodo)) - if (tasks.size == 1) { - return tasks[0] - } - } catch (e: Exception) { - Timber.e(e) - } - 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.order: Long? - get() = unknownProperties - .find { it.name?.equals(APPLE_SORT_ORDER, true) == true } - .let { it?.value?.toLongOrNull() } - set(order) { - if (order == null) { - unknownProperties.removeAll(unknownProperties.filter(IS_APPLE_SORT_ORDER)) - } else { - val existingOrder = unknownProperties - .find { it.name?.equals(APPLE_SORT_ORDER, true) == true } - - if (existingOrder != null) { - existingOrder.value = order.toString() - } else { - unknownProperties.add(XProperty(APPLE_SORT_ORDER, order.toString())) - } - } - } - } - suspend fun setPlace(taskId: Long, geo: Geo?) { if (geo == null) { locationDao.getActiveGeofences(taskId).forEach { @@ -212,4 +145,71 @@ class iCalendar @Inject constructor( Timber.d("UPDATE %s", caldavTask) } } + + companion object { + const val APPLE_SORT_ORDER = "X-APPLE-SORT-ORDER" + private val IS_PARENT = { r: RelatedTo -> + r.parameters.getParameter(Parameter.RELTYPE).let { + it === RelType.PARENT || it == null || it.value.isNullOrBlank() + } + } + + private val IS_APPLE_SORT_ORDER = { x: Property? -> + x?.name.equals(APPLE_SORT_ORDER, true) + } + + fun fromVtodo(vtodo: String): Task? { + try { + val tasks = tasksFromReader(StringReader(vtodo)) + if (tasks.size == 1) { + return tasks[0] + } + } catch (e: Exception) { + Timber.e(e) + } + 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.order: Long? + get() = unknownProperties + .find { it.name?.equals(APPLE_SORT_ORDER, true) == true } + .let { it?.value?.toLongOrNull() } + set(order) { + if (order == null) { + unknownProperties.removeAll(unknownProperties.filter(IS_APPLE_SORT_ORDER)) + } else { + val existingOrder = unknownProperties + .find { it.name?.equals(APPLE_SORT_ORDER, true) == true } + + if (existingOrder != null) { + existingOrder.value = order.toString() + } else { + unknownProperties.add(XProperty(APPLE_SORT_ORDER, order.toString())) + } + } + } + } } \ No newline at end of file