Replace isGoogleTask with accountType

pull/2422/head
Alex Baker 11 months ago
parent ce2bc81276
commit 7b12e491ad

@ -68,7 +68,7 @@ open class TaskAdapter(
open fun getIndent(task: TaskContainer): Int = task.indent
open fun canMove(source: TaskContainer, from: Int, target: TaskContainer, to: Int): Boolean {
if (target.isGoogleTask) {
if (target.isSingleLevelSubtask) {
return if (!source.hasChildren() || to <= 0 || to >= count - 1) {
true
} else if (from < to) {
@ -91,7 +91,7 @@ open class TaskAdapter(
open fun maxIndent(previousPosition: Int, task: TaskContainer): Int {
val previous = getTask(previousPosition)
return if (previous.isGoogleTask) {
return if (previous.isSingleLevelSubtask) {
if (task.hasChildren()) 0 else 1
} else {
previous.indent + 1
@ -104,7 +104,7 @@ open class TaskAdapter(
return 0
}
val next = getTask(it)
if (next.isGoogleTask) {
if (next.isSingleLevelSubtask) {
return if (task.hasChildren() || !next.hasParent()) 0 else 1
}
if (!taskIsChild(task, it)) {

@ -3,12 +3,14 @@ package org.tasks.data
import androidx.room.ColumnInfo
import androidx.room.Embedded
import com.todoroo.astrid.data.Task
import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS
import org.tasks.data.CaldavAccount.Companion.TYPE_MICROSOFT
data class TaskContainer(
@Embedded val task: Task,
@Embedded val caldavTask: CaldavTask? = null,
@Embedded val location: Location? = null,
val isGoogleTask: Boolean = false,
val accountType: Int = CaldavAccount.TYPE_LOCAL,
val parentComplete: Boolean = false,
@ColumnInfo(name = "tags") val tagsString: String? = null,
val children: Int = 0,
@ -18,6 +20,15 @@ data class TaskContainer(
var indent: Int = 0,
var targetIndent: Int = 0,
){
val isGoogleTask: Boolean
get() = accountType == TYPE_GOOGLE_TASKS
val isSingleLevelSubtask: Boolean
get() = when (accountType) {
TYPE_GOOGLE_TASKS, TYPE_MICROSOFT -> true
else -> false
}
val caldav: String?
get() = caldavTask?.calendar

@ -6,7 +6,6 @@ import com.todoroo.andlib.sql.Join
import com.todoroo.astrid.activity.TaskListFragment
import com.todoroo.astrid.api.Filter
import com.todoroo.astrid.data.Task
import org.tasks.data.CaldavAccount.Companion.TYPE_GOOGLE_TASKS
import org.tasks.data.TaskListQueryNonRecursive.getNonRecursiveQuery
import org.tasks.data.TaskListQueryRecursive.getRecursiveQuery
import org.tasks.preferences.QueryPreferences
@ -25,7 +24,7 @@ object TaskListQuery {
val FIELDS = listOf(
field("tasks.*"),
field("${TaskListFragment.CALDAV_METADATA_JOIN}.*"),
field("CASE ${CaldavAccount.ACCOUNT_TYPE} WHEN $TYPE_GOOGLE_TASKS THEN 1 ELSE 0 END").`as`("isGoogleTask"),
field("${CaldavAccount.ACCOUNT_TYPE}").`as`("accountType"),
field("geofences.*"),
field("places.*"))

Loading…
Cancel
Save