From 11fdf0f825df3cd8fa332cf6ebcaa8c67c87f14b Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 23 Feb 2021 14:32:12 -0600 Subject: [PATCH] Simplify ctag check --- .../org/tasks/caldav/CaldavSynchronizer.kt | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt index 06a03a1b0..e5e542434 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt +++ b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.kt @@ -55,11 +55,6 @@ class CaldavSynchronizer @Inject constructor( private val firebase: Firebase, private val provider: CaldavClientProvider, private val iCal: iCalendar) { - companion object { - init { - prodId = ProdId("+//IDN tasks.org//android-" + BuildConfig.VERSION_CODE + "//EN") - } - } suspend fun sync(account: CaldavAccount) { Thread.currentThread().contextClassLoader = context.classLoader @@ -162,16 +157,8 @@ class CaldavSynchronizer @Inject constructor( Timber.d("sync(%s)", caldavCalendar) val httpUrl = resource.href pushLocalChanges(caldavCalendar, httpClient, httpUrl) - val syncToken = resource[SyncToken::class.java] - val ctag = resource[GetCTag::class.java] - var remoteCtag: String? = null - if (syncToken != null) { - remoteCtag = syncToken.token - } else if (ctag != null) { - remoteCtag = ctag.cTag - } - val localCtag = caldavCalendar.ctag - if (localCtag != null && localCtag == remoteCtag) { + val remoteCtag = resource.ctag + if (caldavCalendar.ctag?.equals(remoteCtag) == true) { Timber.d("%s up to date", caldavCalendar.name) return } @@ -298,4 +285,13 @@ class CaldavSynchronizer @Inject constructor( caldavDao.update(caldavTask) Timber.d("SENT %s", caldavTask) } + + companion object { + init { + prodId = ProdId("+//IDN tasks.org//android-" + BuildConfig.VERSION_CODE + "//EN") + } + + val Response.ctag: String? + get() = this[SyncToken::class.java]?.token ?: this[GetCTag::class.java]?.cTag + } } \ No newline at end of file