From 9c07c0abd459326abfcc842c433d18e0a4d4c4b8 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 13 Aug 2020 16:26:08 -0500 Subject: [PATCH] Set UID in SYNC2 for EteSync --- app/src/main/java/org/tasks/data/OpenTaskDao.kt | 2 +- app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt | 1 - .../org/tasks/opentasks/OpenTasksSynchronizer.kt | 12 ++++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/tasks/data/OpenTaskDao.kt b/app/src/main/java/org/tasks/data/OpenTaskDao.kt index 235e568cd..1fa12e439 100644 --- a/app/src/main/java/org/tasks/data/OpenTaskDao.kt +++ b/app/src/main/java/org/tasks/data/OpenTaskDao.kt @@ -234,7 +234,7 @@ class OpenTaskDao @Inject constructor(@ApplicationContext context: Context) { } companion object { - private const val OPENTASK_BATCH_LIMIT = 500 + private const val OPENTASK_BATCH_LIMIT = 499 const val ACCOUNT_TYPE_DAVx5 = "bitfire.at.davdroid" const val ACCOUNT_TYPE_ETESYNC = "com.etesync.syncadapter" diff --git a/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt b/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt index 5d95695c6..1baf240ce 100644 --- a/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt +++ b/app/src/main/java/org/tasks/jobs/WorkManagerImpl.kt @@ -17,7 +17,6 @@ import org.tasks.data.CaldavAccount.Companion.TYPE_ETESYNC import org.tasks.data.CaldavAccount.Companion.TYPE_OPENTASKS import org.tasks.data.CaldavDao import org.tasks.data.GoogleTaskListDao -import org.tasks.data.OpenTaskDao import org.tasks.data.Place import org.tasks.date.DateTimeUtils.midnight import org.tasks.date.DateTimeUtils.newDateTime diff --git a/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt b/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt index 483901963..bf091f9c4 100644 --- a/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt +++ b/app/src/main/java/org/tasks/opentasks/OpenTasksSynchronizer.kt @@ -103,6 +103,7 @@ class OpenTasksSynchronizer @Inject constructor( private suspend fun sync(calendar: CaldavCalendar, ctag: String?, listId: Long) { Timber.d("SYNC $calendar") + val isEteSync = calendar.account!!.split(":")[0] == ACCOUNT_TYPE_ETESYNC val moved = caldavDao.getMoved(calendar.uuid!!) val (deleted, updated) = @@ -115,7 +116,7 @@ class OpenTasksSynchronizer @Inject constructor( caldavDao.delete(moved) taskDeleter.delete(deleted.map { it.id }) - openTaskDao.batch(updated.mapNotNull { toOperation(it, listId) }) + openTaskDao.batch(updated.mapNotNull { toOperation(it, listId, isEteSync) }) val caldavTasks = updated.let { caldavDao.getTasks(it.map(Task::id)) } openTaskDao.batch(caldavTasks.flatMap { @@ -145,7 +146,6 @@ class OpenTasksSynchronizer @Inject constructor( } } - val isEteSync = calendar.account!!.split(":")[0] == ACCOUNT_TYPE_ETESYNC val etags = openTaskDao.getEtags(listId) etags.forEach { (syncId, syncVersion, version) -> val caldavTask = caldavDao.getTask(calendar.uuid!!, syncId) @@ -183,7 +183,11 @@ class OpenTasksSynchronizer @Inject constructor( } } - private suspend fun toOperation(task: Task, listId: Long): ContentProviderOperation? { + private suspend fun toOperation( + task: Task, + listId: Long, + isEteSync: Boolean + ): ContentProviderOperation? { val caldavTask = caldavDao.getTask(task.id) ?: return null val values = ContentValues() values.put(Tasks._SYNC_ID, caldavTask.`object`) @@ -232,7 +236,7 @@ class OpenTasksSynchronizer @Inject constructor( if (existing) { openTaskDao.update(listId, caldavTask.`object`!!, values) } else { - values.put(Tasks._UID, caldavTask.remoteId) + values.put(if (isEteSync) Tasks.SYNC2 else Tasks._UID, caldavTask.remoteId) values.put(Tasks.PRIORITY, toRemote(task.priority, task.priority)) openTaskDao.insert(values) }