diff --git a/app/src/main/java/org/tasks/data/CaldavDao.kt b/app/src/main/java/org/tasks/data/CaldavDao.kt index 53c99ee85..f5964e126 100644 --- a/app/src/main/java/org/tasks/data/CaldavDao.kt +++ b/app/src/main/java/org/tasks/data/CaldavDao.kt @@ -11,7 +11,9 @@ import com.todoroo.astrid.helper.UUIDHelper import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import org.tasks.R +import org.tasks.data.CaldavAccount.Companion.TYPE_LOCAL import org.tasks.data.CaldavAccount.Companion.TYPE_OPENTASKS +import org.tasks.data.CaldavAccount.Companion.TYPE_TASKS import org.tasks.date.DateTimeUtils.toAppleEpoch import org.tasks.db.DbUtils.dbchunk import org.tasks.db.SuspendDbUtils.chunkedMap @@ -46,7 +48,15 @@ abstract class CaldavDao { @Query("SELECT * FROM caldav_accounts WHERE cda_id = :id") abstract fun watchAccount(id: Long): LiveData - @Query("SELECT * FROM caldav_accounts ORDER BY cda_account_type, UPPER(cda_name)") + @Query(""" +SELECT * +FROM caldav_accounts +ORDER BY CASE cda_account_type + WHEN $TYPE_TASKS THEN 0 + WHEN $TYPE_LOCAL THEN 2 + ELSE 1 + END, UPPER(cda_name) + """) abstract suspend fun getAccounts(): List @Query("UPDATE caldav_accounts SET cda_collapsed = :collapsed WHERE cda_id = :id")