Simplify ctag check

pull/1381/head
Alex Baker 5 years ago
parent e9dafefbb0
commit 11fdf0f825

@ -55,11 +55,6 @@ class CaldavSynchronizer @Inject constructor(
private val firebase: Firebase, private val firebase: Firebase,
private val provider: CaldavClientProvider, private val provider: CaldavClientProvider,
private val iCal: iCalendar) { private val iCal: iCalendar) {
companion object {
init {
prodId = ProdId("+//IDN tasks.org//android-" + BuildConfig.VERSION_CODE + "//EN")
}
}
suspend fun sync(account: CaldavAccount) { suspend fun sync(account: CaldavAccount) {
Thread.currentThread().contextClassLoader = context.classLoader Thread.currentThread().contextClassLoader = context.classLoader
@ -162,16 +157,8 @@ class CaldavSynchronizer @Inject constructor(
Timber.d("sync(%s)", caldavCalendar) Timber.d("sync(%s)", caldavCalendar)
val httpUrl = resource.href val httpUrl = resource.href
pushLocalChanges(caldavCalendar, httpClient, httpUrl) pushLocalChanges(caldavCalendar, httpClient, httpUrl)
val syncToken = resource[SyncToken::class.java] val remoteCtag = resource.ctag
val ctag = resource[GetCTag::class.java] if (caldavCalendar.ctag?.equals(remoteCtag) == true) {
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) {
Timber.d("%s up to date", caldavCalendar.name) Timber.d("%s up to date", caldavCalendar.name)
return return
} }
@ -298,4 +285,13 @@ class CaldavSynchronizer @Inject constructor(
caldavDao.update(caldavTask) caldavDao.update(caldavTask)
Timber.d("SENT %s", 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
}
} }
Loading…
Cancel
Save