From ba9eb1446b4f76caee960729c1b8749937487817 Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Wed, 16 Jul 2025 12:06:34 +0200 Subject: [PATCH] Move SyncState to resource package because it's not in the database (#1585) --- .../bitfire/davdroid/sync/LocalTestCollection.kt | 2 +- .../at/bitfire/davdroid/sync/SyncManagerTest.kt | 2 +- .../at/bitfire/davdroid/sync/TestSyncManager.kt | 2 +- .../kotlin/at/bitfire/davdroid/db/Converters.kt | 2 +- .../davdroid/resource/LocalAddressBook.kt | 1 - .../bitfire/davdroid/resource/LocalCalendar.kt | 1 - .../bitfire/davdroid/resource/LocalCollection.kt | 2 -- .../davdroid/resource/LocalJtxCollection.kt | 1 - .../bitfire/davdroid/resource/LocalTaskList.kt | 1 - .../davdroid/{db => resource}/SyncState.kt | 16 ++++++++-------- .../bitfire/davdroid/sync/CalendarSyncManager.kt | 2 +- .../bitfire/davdroid/sync/ContactsSyncManager.kt | 2 +- .../at/bitfire/davdroid/sync/JtxSyncManager.kt | 2 +- .../at/bitfire/davdroid/sync/SyncManager.kt | 2 +- .../at/bitfire/davdroid/sync/TasksSyncManager.kt | 2 +- 15 files changed, 17 insertions(+), 23 deletions(-) rename app/src/main/kotlin/at/bitfire/davdroid/{db => resource}/SyncState.kt (82%) diff --git a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/LocalTestCollection.kt b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/LocalTestCollection.kt index 1c9908597..86a37c5bf 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/LocalTestCollection.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/LocalTestCollection.kt @@ -4,8 +4,8 @@ package at.bitfire.davdroid.sync -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.resource.LocalCollection +import at.bitfire.davdroid.resource.SyncState class LocalTestCollection( override val dbCollectionId: Long = 0L diff --git a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/SyncManagerTest.kt b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/SyncManagerTest.kt index bfb1c564c..fefbd0cf8 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/SyncManagerTest.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/SyncManagerTest.kt @@ -15,9 +15,9 @@ import at.bitfire.dav4jvm.property.webdav.GetETag import at.bitfire.davdroid.TestUtils import at.bitfire.davdroid.TestUtils.assertWithin import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.repository.DavSyncStatsRepository +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.settings.AccountSettings import at.bitfire.davdroid.sync.account.TestAccount import dagger.hilt.android.qualifiers.ApplicationContext diff --git a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/TestSyncManager.kt b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/TestSyncManager.kt index 65b41c22a..43bcc454d 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/TestSyncManager.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/TestSyncManager.kt @@ -10,10 +10,10 @@ import at.bitfire.dav4jvm.MultiResponseCallback import at.bitfire.dav4jvm.Response import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.di.SyncDispatcher import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.resource.LocalResource +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.util.DavUtils.lastSegment import dagger.assisted.Assisted import dagger.assisted.AssistedFactory diff --git a/app/src/main/kotlin/at/bitfire/davdroid/db/Converters.kt b/app/src/main/kotlin/at/bitfire/davdroid/db/Converters.kt index 513c55d31..10240c44b 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/db/Converters.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/db/Converters.kt @@ -14,7 +14,7 @@ class Converters { @TypeConverter fun httpUrlToString(url: HttpUrl?) = - url?.toString() + url?.toString() @TypeConverter fun mediaTypeToString(mediaType: MediaType?) = diff --git a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalAddressBook.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalAddressBook.kt index aeb337f6a..ee6bda1a9 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalAddressBook.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalAddressBook.kt @@ -17,7 +17,6 @@ import android.provider.ContactsContract.RawContacts import androidx.annotation.OpenForTesting import androidx.core.content.contentValuesOf import at.bitfire.davdroid.R -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.repository.DavCollectionRepository import at.bitfire.davdroid.repository.DavServiceRepository import at.bitfire.davdroid.resource.LocalAddressBook.Companion.USER_DATA_READ_ONLY diff --git a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCalendar.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCalendar.kt index 6f3b0907c..85984ede1 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCalendar.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCalendar.kt @@ -8,7 +8,6 @@ import android.content.ContentUris import android.provider.CalendarContract.Calendars import android.provider.CalendarContract.Events import androidx.core.content.contentValuesOf -import at.bitfire.davdroid.db.SyncState import at.bitfire.ical4android.AndroidEvent import at.bitfire.ical4android.util.MiscUtils.asSyncAdapter import at.bitfire.synctools.storage.BatchOperation diff --git a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCollection.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCollection.kt index 38afb3894..1f62e4a3c 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCollection.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalCollection.kt @@ -4,8 +4,6 @@ package at.bitfire.davdroid.resource -import at.bitfire.davdroid.db.SyncState - interface LocalCollection> { /** a tag that uniquely identifies the collection (DAVx5-wide) */ diff --git a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalJtxCollection.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalJtxCollection.kt index d470ee978..970bf7b14 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalJtxCollection.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalJtxCollection.kt @@ -6,7 +6,6 @@ package at.bitfire.davdroid.resource import android.accounts.Account import android.content.ContentProviderClient -import at.bitfire.davdroid.db.SyncState import at.bitfire.ical4android.JtxCollection import at.bitfire.ical4android.JtxCollectionFactory import at.bitfire.ical4android.JtxICalObject diff --git a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTaskList.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTaskList.kt index f0777bf5b..d87753cc7 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTaskList.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTaskList.kt @@ -8,7 +8,6 @@ import android.accounts.Account import android.content.ContentProviderClient import android.content.ContentValues import androidx.core.content.contentValuesOf -import at.bitfire.davdroid.db.SyncState import at.bitfire.ical4android.DmfsTaskList import at.bitfire.ical4android.DmfsTaskListFactory import at.bitfire.ical4android.TaskProvider diff --git a/app/src/main/kotlin/at/bitfire/davdroid/db/SyncState.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/SyncState.kt similarity index 82% rename from app/src/main/kotlin/at/bitfire/davdroid/db/SyncState.kt rename to app/src/main/kotlin/at/bitfire/davdroid/resource/SyncState.kt index 9ea10f70e..209b55baf 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/db/SyncState.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/SyncState.kt @@ -2,21 +2,21 @@ * Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details. */ -package at.bitfire.davdroid.db +package at.bitfire.davdroid.resource import at.bitfire.dav4jvm.property.webdav.SyncToken import org.json.JSONException import org.json.JSONObject data class SyncState( - val type: Type, - val value: String, + val type: Type, + val value: String, - /** - * Whether this sync state occurred during an initial sync as described - * in RFC 6578, which means the initial sync is not complete yet. - */ - var initialSync: Boolean? = null + /** + * Whether this sync state occurred during an initial sync as described + * in RFC 6578, which means the initial sync is not complete yet. + */ + var initialSync: Boolean? = null ) { companion object { diff --git a/app/src/main/kotlin/at/bitfire/davdroid/sync/CalendarSyncManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/sync/CalendarSyncManager.kt index f71b843ce..105541a56 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/CalendarSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/CalendarSyncManager.kt @@ -20,12 +20,12 @@ import at.bitfire.dav4jvm.property.webdav.SyncToken import at.bitfire.davdroid.Constants import at.bitfire.davdroid.R import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.di.SyncDispatcher import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.resource.LocalCalendar import at.bitfire.davdroid.resource.LocalEvent import at.bitfire.davdroid.resource.LocalResource +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.settings.AccountSettings import at.bitfire.davdroid.util.DavUtils.lastSegment import at.bitfire.ical4android.AndroidEvent diff --git a/app/src/main/kotlin/at/bitfire/davdroid/sync/ContactsSyncManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/sync/ContactsSyncManager.kt index 5d4e1cd33..e79971b0c 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/ContactsSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/ContactsSyncManager.kt @@ -23,7 +23,6 @@ import at.bitfire.dav4jvm.property.webdav.SyncToken import at.bitfire.davdroid.Constants import at.bitfire.davdroid.R import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.di.SyncDispatcher import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.resource.LocalAddress @@ -31,6 +30,7 @@ import at.bitfire.davdroid.resource.LocalAddressBook import at.bitfire.davdroid.resource.LocalContact import at.bitfire.davdroid.resource.LocalGroup import at.bitfire.davdroid.resource.LocalResource +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.resource.workaround.ContactDirtyVerifier import at.bitfire.davdroid.settings.AccountSettings import at.bitfire.davdroid.sync.groups.CategoriesStrategy diff --git a/app/src/main/kotlin/at/bitfire/davdroid/sync/JtxSyncManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/sync/JtxSyncManager.kt index 9bf1a61d1..c25dd8619 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/JtxSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/JtxSyncManager.kt @@ -19,12 +19,12 @@ import at.bitfire.dav4jvm.property.webdav.SyncToken import at.bitfire.davdroid.Constants import at.bitfire.davdroid.R import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.di.SyncDispatcher import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.resource.LocalJtxCollection import at.bitfire.davdroid.resource.LocalJtxICalObject import at.bitfire.davdroid.resource.LocalResource +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.util.DavUtils.lastSegment import at.bitfire.ical4android.JtxICalObject import at.bitfire.synctools.exception.InvalidRemoteResourceException diff --git a/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt index 25432827e..1a0c83a26 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt @@ -29,7 +29,6 @@ import at.bitfire.dav4jvm.property.webdav.GetETag import at.bitfire.dav4jvm.property.webdav.SyncToken import at.bitfire.davdroid.R import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.repository.AccountRepository import at.bitfire.davdroid.repository.DavCollectionRepository @@ -37,6 +36,7 @@ import at.bitfire.davdroid.repository.DavServiceRepository import at.bitfire.davdroid.repository.DavSyncStatsRepository import at.bitfire.davdroid.resource.LocalCollection import at.bitfire.davdroid.resource.LocalResource +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.sync.account.InvalidAccountException import at.bitfire.synctools.storage.LocalStorageException import dagger.hilt.android.qualifiers.ApplicationContext diff --git a/app/src/main/kotlin/at/bitfire/davdroid/sync/TasksSyncManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/sync/TasksSyncManager.kt index ae46be9d7..3f71cf252 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/TasksSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/TasksSyncManager.kt @@ -18,12 +18,12 @@ import at.bitfire.dav4jvm.property.webdav.SyncToken import at.bitfire.davdroid.Constants import at.bitfire.davdroid.R import at.bitfire.davdroid.db.Collection -import at.bitfire.davdroid.db.SyncState import at.bitfire.davdroid.di.SyncDispatcher import at.bitfire.davdroid.network.HttpClient import at.bitfire.davdroid.resource.LocalResource import at.bitfire.davdroid.resource.LocalTask import at.bitfire.davdroid.resource.LocalTaskList +import at.bitfire.davdroid.resource.SyncState import at.bitfire.davdroid.util.DavUtils.lastSegment import at.bitfire.ical4android.Task import at.bitfire.synctools.exception.InvalidRemoteResourceException