Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6af033a3 authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Avoid UninitializedPropertyAccessException when accessing collectionURL for logging the sync

parent 1532fab4
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -38,7 +38,10 @@ import at.bitfire.ical4android.Ical4Android
import at.bitfire.ical4android.TaskProvider
import at.bitfire.ical4android.UsesThreadContextClassLoader
import at.bitfire.vcard4android.ContactsStorageException
import kotlinx.coroutines.*
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import okhttp3.HttpUrl
import okhttp3.RequestBody
import org.apache.commons.lang3.exception.ContextedException
@@ -127,6 +130,16 @@ abstract class SyncManager<ResourceType: LocalResource<*>, out CollectionType: L
                return@unwrapExceptions
            }

            // log sync time
            val db = AppDatabase.getInstance(context)
            db.runInTransaction {
                db.collectionDao().getByUrl(collectionURL.toString())?.let { collection ->
                    db.syncStatsDao().insertOrReplace(
                        SyncStats(0, collection.id, authority, System.currentTimeMillis())
                    )
                }
            }

            Logger.log.info("Querying server capabilities")
            var remoteSyncState = queryCapabilities()

@@ -259,16 +272,6 @@ abstract class SyncManager<ResourceType: LocalResource<*>, out CollectionType: L
                    notifyException(e, local, remote)
            }
        })

        // log sync time
        val db = AppDatabase.getInstance(context)
        db.runInTransaction {
            db.collectionDao().getByUrl(collectionURL.toString())?.let { collection ->
                db.syncStatsDao().insertOrReplace(
                    SyncStats(0, collection.id, authority, System.currentTimeMillis())
                )
            }
        }
    }