From 084ba3b630143fc3fbcda7abfbe0011d0fe8d3a4 Mon Sep 17 00:00:00 2001 From: Arnau Mora Date: Mon, 17 Nov 2025 13:38:10 +0100 Subject: [PATCH] Update dav4jvm to new okhttp package (#1786) * Upgrade dav4jvm * Exclude ktor from dav4jvm * Fix imports and fix usages Signed-off-by: Arnau Mora * Fix imports for instrumented tests Signed-off-by: Arnau Mora * Fix imports Signed-off-by: Arnau Mora * Upgrade dav4jvm Signed-off-by: Arnau Mora * Do not exclude ktor in dav4jvm Signed-off-by: Arnau Mora * Upgrade dav4jvm Signed-off-by: Arnau Mora --------- Signed-off-by: Arnau Mora --- .../at/bitfire/davdroid/db/CollectionTest.kt | 2 +- .../servicedetection/DavResourceFinderTest.kt | 2 +- .../bitfire/davdroid/sync/SyncManagerTest.kt | 6 ++--- .../bitfire/davdroid/sync/TestSyncManager.kt | 6 ++--- .../at/bitfire/davdroid/db/Collection.kt | 4 +-- .../at/bitfire/davdroid/db/Principal.kt | 4 +-- .../at/bitfire/davdroid/network/HttpClient.kt | 0 .../davdroid/network/HttpClientBuilder.kt | 4 +-- .../davdroid/network/NextcloudLoginFlow.kt | 4 +-- .../davdroid/push/PushRegistrationManager.kt | 6 ++--- .../repository/DavCollectionRepository.kt | 8 +++--- .../CollectionsWithoutHomeSetRefresher.kt | 4 +-- .../servicedetection/DavResourceFinder.kt | 12 ++++----- .../servicedetection/HomeSetRefresher.kt | 6 ++--- .../servicedetection/PrincipalsRefresher.kt | 4 +-- .../RefreshCollectionsWorker.kt | 2 +- .../servicedetection/ServiceRefresher.kt | 6 ++--- .../davdroid/sync/CalendarSyncManager.kt | 8 +++--- .../davdroid/sync/ContactsSyncManager.kt | 11 ++++---- .../bitfire/davdroid/sync/JtxSyncManager.kt | 8 +++--- .../at/bitfire/davdroid/sync/SyncManager.kt | 26 +++++++++---------- .../davdroid/sync/SyncNotificationManager.kt | 2 +- .../bitfire/davdroid/sync/TasksSyncManager.kt | 8 +++--- .../bitfire/davdroid/ui/DebugInfoGenerator.kt | 2 +- .../at/bitfire/davdroid/ui/DebugInfoScreen.kt | 4 +-- .../ui/composable/ExceptionInfoDialog.kt | 9 +------ .../davdroid/webdav/DocumentProviderUtils.kt | 2 +- .../bitfire/davdroid/webdav/HeadResponse.kt | 2 +- .../davdroid/webdav/RandomAccessCallback.kt | 6 ++--- .../webdav/StreamingFileDescriptor.kt | 4 +-- .../davdroid/webdav/WebDavMountRepository.kt | 2 +- .../webdav/operation/CopyDocumentOperation.kt | 4 +-- .../operation/CreateDocumentOperation.kt | 4 +-- .../operation/DeleteDocumentOperation.kt | 4 +-- .../webdav/operation/MoveDocumentOperation.kt | 4 +-- .../OpenDocumentThumbnailOperation.kt | 2 +- .../operation/QueryChildDocumentsOperation.kt | 7 ++--- .../operation/RenameDocumentOperation.kt | 4 +-- gradle/libs.versions.toml | 2 +- 39 files changed, 100 insertions(+), 105 deletions(-) create mode 100644 app/src/main/kotlin/at/bitfire/davdroid/network/HttpClient.kt diff --git a/app/src/androidTest/kotlin/at/bitfire/davdroid/db/CollectionTest.kt b/app/src/androidTest/kotlin/at/bitfire/davdroid/db/CollectionTest.kt index 5ca3d622f..c46f0818d 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/db/CollectionTest.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/db/CollectionTest.kt @@ -6,7 +6,7 @@ package at.bitfire.davdroid.db import android.security.NetworkSecurityPolicy import androidx.test.filters.SmallTest -import at.bitfire.dav4jvm.DavResource +import at.bitfire.dav4jvm.okhttp.DavResource import at.bitfire.dav4jvm.property.webdav.ResourceType import at.bitfire.davdroid.network.HttpClientBuilder import dagger.hilt.android.testing.HiltAndroidRule diff --git a/app/src/androidTest/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinderTest.kt b/app/src/androidTest/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinderTest.kt index 5445c9837..bc4ee18d6 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinderTest.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinderTest.kt @@ -5,7 +5,7 @@ package at.bitfire.davdroid.servicedetection import android.security.NetworkSecurityPolicy -import at.bitfire.dav4jvm.DavResource +import at.bitfire.dav4jvm.okhttp.DavResource import at.bitfire.dav4jvm.property.carddav.AddressbookHomeSet import at.bitfire.dav4jvm.property.webdav.ResourceType import at.bitfire.davdroid.network.HttpClientBuilder 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 6677492b5..6c1b6774c 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/SyncManagerTest.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/SyncManagerTest.kt @@ -8,9 +8,9 @@ import android.accounts.Account import android.content.Context import androidx.core.app.NotificationManagerCompat import androidx.hilt.work.HiltWorkerFactory -import at.bitfire.dav4jvm.PropStat -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.Response.HrefRelation +import at.bitfire.dav4jvm.okhttp.PropStat +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.Response.HrefRelation import at.bitfire.dav4jvm.property.webdav.GetETag import at.bitfire.davdroid.TestUtils import at.bitfire.davdroid.TestUtils.assertWithin 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 e21e64548..6797fe6af 100644 --- a/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/TestSyncManager.kt +++ b/app/src/androidTest/kotlin/at/bitfire/davdroid/sync/TestSyncManager.kt @@ -5,9 +5,9 @@ package at.bitfire.davdroid.sync import android.accounts.Account -import at.bitfire.dav4jvm.DavCollection -import at.bitfire.dav4jvm.MultiResponseCallback -import at.bitfire.dav4jvm.Response +import at.bitfire.dav4jvm.okhttp.DavCollection +import at.bitfire.dav4jvm.okhttp.MultiResponseCallback +import at.bitfire.dav4jvm.okhttp.Response import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.davdroid.db.Collection import at.bitfire.davdroid.di.SyncDispatcher diff --git a/app/src/main/kotlin/at/bitfire/davdroid/db/Collection.kt b/app/src/main/kotlin/at/bitfire/davdroid/db/Collection.kt index ef6dedbc7..5fae2b924 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/db/Collection.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/db/Collection.kt @@ -10,8 +10,8 @@ import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.UrlUtils +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.UrlUtils import at.bitfire.dav4jvm.property.caldav.CalendarColor import at.bitfire.dav4jvm.property.caldav.CalendarDescription import at.bitfire.dav4jvm.property.caldav.CalendarTimezone diff --git a/app/src/main/kotlin/at/bitfire/davdroid/db/Principal.kt b/app/src/main/kotlin/at/bitfire/davdroid/db/Principal.kt index 03e157445..c76c5f0f3 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/db/Principal.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/db/Principal.kt @@ -8,8 +8,8 @@ import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.Index import androidx.room.PrimaryKey -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.UrlUtils +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.UrlUtils import at.bitfire.dav4jvm.property.webdav.DisplayName import at.bitfire.dav4jvm.property.webdav.ResourceType import at.bitfire.davdroid.util.trimToNull diff --git a/app/src/main/kotlin/at/bitfire/davdroid/network/HttpClient.kt b/app/src/main/kotlin/at/bitfire/davdroid/network/HttpClient.kt new file mode 100644 index 000000000..e69de29bb diff --git a/app/src/main/kotlin/at/bitfire/davdroid/network/HttpClientBuilder.kt b/app/src/main/kotlin/at/bitfire/davdroid/network/HttpClientBuilder.kt index f4558f718..c0118e78b 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/network/HttpClientBuilder.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/network/HttpClientBuilder.kt @@ -8,8 +8,8 @@ import android.accounts.Account import android.content.Context import androidx.annotation.WorkerThread import at.bitfire.cert4android.CustomCertManager -import at.bitfire.dav4jvm.BasicDigestAuthHandler -import at.bitfire.dav4jvm.UrlUtils +import at.bitfire.dav4jvm.okhttp.BasicDigestAuthHandler +import at.bitfire.dav4jvm.okhttp.UrlUtils import at.bitfire.davdroid.BuildConfig import at.bitfire.davdroid.di.IoDispatcher import at.bitfire.davdroid.settings.AccountSettings diff --git a/app/src/main/kotlin/at/bitfire/davdroid/network/NextcloudLoginFlow.kt b/app/src/main/kotlin/at/bitfire/davdroid/network/NextcloudLoginFlow.kt index 8010fb117..7251ec795 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/network/NextcloudLoginFlow.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/network/NextcloudLoginFlow.kt @@ -4,8 +4,8 @@ package at.bitfire.davdroid.network -import at.bitfire.dav4jvm.exception.DavException -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.DavException +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.settings.Credentials import at.bitfire.davdroid.ui.setup.LoginInfo import at.bitfire.davdroid.util.SensitiveString.Companion.toSensitiveString diff --git a/app/src/main/kotlin/at/bitfire/davdroid/push/PushRegistrationManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/push/PushRegistrationManager.kt index 3fe787fb0..475b79d52 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/push/PushRegistrationManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/push/PushRegistrationManager.kt @@ -11,12 +11,12 @@ import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.NetworkType import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager -import at.bitfire.dav4jvm.DavCollection -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.HttpUtils import at.bitfire.dav4jvm.XmlUtils import at.bitfire.dav4jvm.XmlUtils.insertTag -import at.bitfire.dav4jvm.exception.DavException +import at.bitfire.dav4jvm.okhttp.DavCollection +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.DavException import at.bitfire.dav4jvm.property.push.AuthSecret import at.bitfire.dav4jvm.property.push.PushRegister import at.bitfire.dav4jvm.property.push.PushResource diff --git a/app/src/main/kotlin/at/bitfire/davdroid/repository/DavCollectionRepository.kt b/app/src/main/kotlin/at/bitfire/davdroid/repository/DavCollectionRepository.kt index 533a27ab6..b853a41c9 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/repository/DavCollectionRepository.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/repository/DavCollectionRepository.kt @@ -6,12 +6,12 @@ package at.bitfire.davdroid.repository import android.accounts.Account import android.content.Context -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.XmlUtils import at.bitfire.dav4jvm.XmlUtils.insertTag -import at.bitfire.dav4jvm.exception.GoneException -import at.bitfire.dav4jvm.exception.HttpException -import at.bitfire.dav4jvm.exception.NotFoundException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.GoneException +import at.bitfire.dav4jvm.okhttp.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.NotFoundException import at.bitfire.dav4jvm.property.caldav.CalendarColor import at.bitfire.dav4jvm.property.caldav.CalendarDescription import at.bitfire.dav4jvm.property.caldav.CalendarTimezone diff --git a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/CollectionsWithoutHomeSetRefresher.kt b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/CollectionsWithoutHomeSetRefresher.kt index 8f8ba9f90..6e86e6501 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/CollectionsWithoutHomeSetRefresher.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/CollectionsWithoutHomeSetRefresher.kt @@ -4,8 +4,8 @@ package at.bitfire.davdroid.servicedetection -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.dav4jvm.property.webdav.Owner import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.db.Collection diff --git a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinder.kt b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinder.kt index 7777ffed5..6e486d913 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinder.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/DavResourceFinder.kt @@ -6,13 +6,13 @@ package at.bitfire.davdroid.servicedetection import android.app.ActivityManager import android.content.Context import androidx.core.content.getSystemService -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.Property -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.UrlUtils -import at.bitfire.dav4jvm.exception.DavException -import at.bitfire.dav4jvm.exception.HttpException -import at.bitfire.dav4jvm.exception.UnauthorizedException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.UrlUtils +import at.bitfire.dav4jvm.okhttp.exception.DavException +import at.bitfire.dav4jvm.okhttp.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.UnauthorizedException import at.bitfire.dav4jvm.property.caldav.CalendarColor import at.bitfire.dav4jvm.property.caldav.CalendarDescription import at.bitfire.dav4jvm.property.caldav.CalendarHomeSet diff --git a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/HomeSetRefresher.kt b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/HomeSetRefresher.kt index 7788cf6ce..f511ba962 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/HomeSetRefresher.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/HomeSetRefresher.kt @@ -4,9 +4,9 @@ package at.bitfire.davdroid.servicedetection -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.dav4jvm.property.webdav.CurrentUserPrivilegeSet import at.bitfire.dav4jvm.property.webdav.DisplayName import at.bitfire.dav4jvm.property.webdav.Owner diff --git a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/PrincipalsRefresher.kt b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/PrincipalsRefresher.kt index af56b687f..9c1c15934 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/PrincipalsRefresher.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/PrincipalsRefresher.kt @@ -4,8 +4,8 @@ package at.bitfire.davdroid.servicedetection -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.dav4jvm.property.webdav.DisplayName import at.bitfire.dav4jvm.property.webdav.ResourceType import at.bitfire.davdroid.db.AppDatabase diff --git a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/RefreshCollectionsWorker.kt b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/RefreshCollectionsWorker.kt index 99b1bbb4a..627ee6bbc 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/RefreshCollectionsWorker.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/RefreshCollectionsWorker.kt @@ -22,7 +22,7 @@ import androidx.work.OutOfQuotaPolicy import androidx.work.WorkInfo import androidx.work.WorkManager import androidx.work.WorkerParameters -import at.bitfire.dav4jvm.exception.UnauthorizedException +import at.bitfire.dav4jvm.okhttp.exception.UnauthorizedException import at.bitfire.davdroid.R import at.bitfire.davdroid.network.HttpClientBuilder import at.bitfire.davdroid.push.PushRegistrationManager diff --git a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/ServiceRefresher.kt b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/ServiceRefresher.kt index 3398fb9f8..e06c24d75 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/ServiceRefresher.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/servicedetection/ServiceRefresher.kt @@ -4,10 +4,10 @@ package at.bitfire.davdroid.servicedetection -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.Property -import at.bitfire.dav4jvm.UrlUtils -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.UrlUtils +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.dav4jvm.property.caldav.CalendarHomeSet import at.bitfire.dav4jvm.property.caldav.CalendarProxyReadFor import at.bitfire.dav4jvm.property.caldav.CalendarProxyWriteFor 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 f1a32edb6..49a5ddae7 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/CalendarSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/CalendarSyncManager.kt @@ -6,10 +6,10 @@ package at.bitfire.davdroid.sync import android.accounts.Account import android.text.format.Formatter -import at.bitfire.dav4jvm.DavCalendar -import at.bitfire.dav4jvm.MultiResponseCallback -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.exception.DavException +import at.bitfire.dav4jvm.okhttp.DavCalendar +import at.bitfire.dav4jvm.okhttp.MultiResponseCallback +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.exception.DavException import at.bitfire.dav4jvm.property.caldav.CalendarData import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.dav4jvm.property.caldav.MaxResourceSize 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 6cb08756b..666bdcda4 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/ContactsSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/ContactsSyncManager.kt @@ -7,10 +7,10 @@ package at.bitfire.davdroid.sync import android.accounts.Account import android.content.ContentProviderClient import android.text.format.Formatter -import at.bitfire.dav4jvm.DavAddressBook -import at.bitfire.dav4jvm.MultiResponseCallback -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.exception.DavException +import at.bitfire.dav4jvm.okhttp.DavAddressBook +import at.bitfire.dav4jvm.okhttp.MultiResponseCallback +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.exception.DavException import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.dav4jvm.property.carddav.AddressData import at.bitfire.dav4jvm.property.carddav.MaxResourceSize @@ -51,6 +51,7 @@ import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.MediaType import okhttp3.OkHttpClient +import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import java.io.ByteArrayOutputStream @@ -357,7 +358,7 @@ class ContactsSyncManager @AssistedInject constructor( ?: throw DavException("Received multi-get response without ETag") var isJCard = hasJCard // assume that server has sent what we have requested (we ask for jCard only when the server advertises it) - response[GetContentType::class.java]?.type?.let { type -> + response[GetContentType::class.java]?.type?.toMediaTypeOrNull()?.let { type -> isJCard = type.sameTypeAs(DavUtils.MEDIA_TYPE_JCARD) } 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 140b91040..729874c64 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/JtxSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/JtxSyncManager.kt @@ -7,10 +7,10 @@ package at.bitfire.davdroid.sync import android.accounts.Account import android.text.format.Formatter import androidx.annotation.OpenForTesting -import at.bitfire.dav4jvm.DavCalendar -import at.bitfire.dav4jvm.MultiResponseCallback -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.exception.DavException +import at.bitfire.dav4jvm.okhttp.DavCalendar +import at.bitfire.dav4jvm.okhttp.MultiResponseCallback +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.exception.DavException import at.bitfire.dav4jvm.property.caldav.CalendarData import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.dav4jvm.property.caldav.MaxResourceSize 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 86b598d8a..30d8f7884 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt @@ -9,21 +9,21 @@ import android.content.Context import android.os.DeadObjectException import android.os.RemoteException import androidx.annotation.VisibleForTesting -import at.bitfire.dav4jvm.DavCollection -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.Error -import at.bitfire.dav4jvm.MultiResponseCallback import at.bitfire.dav4jvm.QuotedStringUtils -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.exception.ConflictException -import at.bitfire.dav4jvm.exception.DavException -import at.bitfire.dav4jvm.exception.ForbiddenException -import at.bitfire.dav4jvm.exception.GoneException -import at.bitfire.dav4jvm.exception.HttpException -import at.bitfire.dav4jvm.exception.NotFoundException -import at.bitfire.dav4jvm.exception.PreconditionFailedException -import at.bitfire.dav4jvm.exception.ServiceUnavailableException -import at.bitfire.dav4jvm.exception.UnauthorizedException +import at.bitfire.dav4jvm.okhttp.DavCollection +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.MultiResponseCallback +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.exception.ConflictException +import at.bitfire.dav4jvm.okhttp.exception.DavException +import at.bitfire.dav4jvm.okhttp.exception.ForbiddenException +import at.bitfire.dav4jvm.okhttp.exception.GoneException +import at.bitfire.dav4jvm.okhttp.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.NotFoundException +import at.bitfire.dav4jvm.okhttp.exception.PreconditionFailedException +import at.bitfire.dav4jvm.okhttp.exception.ServiceUnavailableException +import at.bitfire.dav4jvm.okhttp.exception.UnauthorizedException import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.dav4jvm.property.caldav.ScheduleTag import at.bitfire.dav4jvm.property.webdav.GetETag diff --git a/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncNotificationManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncNotificationManager.kt index 0197f8013..8f161a0ff 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncNotificationManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/SyncNotificationManager.kt @@ -15,7 +15,7 @@ import android.provider.Settings import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.net.toUri -import at.bitfire.dav4jvm.exception.UnauthorizedException +import at.bitfire.dav4jvm.okhttp.exception.UnauthorizedException import at.bitfire.davdroid.R import at.bitfire.davdroid.db.Collection import at.bitfire.davdroid.resource.LocalCollection 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 9d5e5f67e..82d62250f 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/sync/TasksSyncManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/sync/TasksSyncManager.kt @@ -6,10 +6,10 @@ package at.bitfire.davdroid.sync import android.accounts.Account import android.text.format.Formatter -import at.bitfire.dav4jvm.DavCalendar -import at.bitfire.dav4jvm.MultiResponseCallback -import at.bitfire.dav4jvm.Response -import at.bitfire.dav4jvm.exception.DavException +import at.bitfire.dav4jvm.okhttp.DavCalendar +import at.bitfire.dav4jvm.okhttp.MultiResponseCallback +import at.bitfire.dav4jvm.okhttp.Response +import at.bitfire.dav4jvm.okhttp.exception.DavException import at.bitfire.dav4jvm.property.caldav.CalendarData import at.bitfire.dav4jvm.property.caldav.GetCTag import at.bitfire.dav4jvm.property.caldav.MaxResourceSize diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoGenerator.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoGenerator.kt index be8a45f08..2778ca00f 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoGenerator.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoGenerator.kt @@ -31,7 +31,7 @@ import androidx.core.content.pm.PackageInfoCompat import androidx.work.WorkInfo import androidx.work.WorkManager import androidx.work.WorkQuery -import at.bitfire.dav4jvm.exception.DavException +import at.bitfire.dav4jvm.okhttp.exception.DavException import at.bitfire.davdroid.BuildConfig import at.bitfire.davdroid.R import at.bitfire.davdroid.TextTable diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoScreen.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoScreen.kt index ad6c2cbd0..422b6ba24 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoScreen.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/DebugInfoScreen.kt @@ -43,8 +43,8 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel -import at.bitfire.dav4jvm.exception.DavException -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.DavException +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.R import at.bitfire.davdroid.ui.composable.CardWithImage import at.bitfire.davdroid.ui.composable.ProgressBar diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/composable/ExceptionInfoDialog.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/composable/ExceptionInfoDialog.kt index 2682273c7..cb0291e25 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/composable/ExceptionInfoDialog.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/composable/ExceptionInfoDialog.kt @@ -5,25 +5,18 @@ package at.bitfire.davdroid.ui.composable import android.accounts.Account -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.Error import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.R import at.bitfire.davdroid.ui.DebugInfoActivity import okhttp3.HttpUrl diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/DocumentProviderUtils.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/DocumentProviderUtils.kt index 19cb46118..57c806f0f 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/DocumentProviderUtils.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/DocumentProviderUtils.kt @@ -13,7 +13,7 @@ import android.provider.DocumentsContract.buildChildDocumentsUri import android.provider.DocumentsContract.buildRootsUri import android.webkit.MimeTypeMap import androidx.core.app.TaskStackBuilder -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.R import at.bitfire.davdroid.ui.webdav.WebdavMountsActivity import java.io.FileNotFoundException diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/HeadResponse.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/HeadResponse.kt index 45296a1af..8d7cb9f6d 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/HeadResponse.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/HeadResponse.kt @@ -5,8 +5,8 @@ package at.bitfire.davdroid.webdav import androidx.annotation.WorkerThread -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.HttpUtils +import at.bitfire.dav4jvm.okhttp.DavResource import at.bitfire.dav4jvm.property.webdav.GetETag import okhttp3.HttpUrl import okhttp3.OkHttpClient diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/RandomAccessCallback.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/RandomAccessCallback.kt index a8327d19d..c43ba105e 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/RandomAccessCallback.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/RandomAccessCallback.kt @@ -14,10 +14,10 @@ import android.system.ErrnoException import android.system.OsConstants import androidx.annotation.RequiresApi import androidx.core.content.getSystemService -import at.bitfire.dav4jvm.DavResource import at.bitfire.dav4jvm.HttpUtils -import at.bitfire.dav4jvm.exception.DavException -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.DavException +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.util.DavUtils import com.google.common.cache.CacheBuilder import com.google.common.cache.CacheLoader diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/StreamingFileDescriptor.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/StreamingFileDescriptor.kt index d6a3d866d..9c0c938ca 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/StreamingFileDescriptor.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/StreamingFileDescriptor.kt @@ -5,8 +5,8 @@ package at.bitfire.davdroid.webdav import android.os.ParcelFileDescriptor -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.di.IoDispatcher import at.bitfire.davdroid.util.DavUtils import dagger.assisted.Assisted diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/WebDavMountRepository.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/WebDavMountRepository.kt index 950936a2a..61a3c837e 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/WebDavMountRepository.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/WebDavMountRepository.kt @@ -7,7 +7,7 @@ package at.bitfire.davdroid.webdav import android.content.Context import android.provider.DocumentsContract import androidx.annotation.VisibleForTesting -import at.bitfire.dav4jvm.DavResource +import at.bitfire.dav4jvm.okhttp.DavResource import at.bitfire.davdroid.R import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.db.WebDavMount diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CopyDocumentOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CopyDocumentOperation.kt index 8525e39c6..0f183006c 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CopyDocumentOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CopyDocumentOperation.kt @@ -5,8 +5,8 @@ package at.bitfire.davdroid.webdav.operation import android.content.Context -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.db.WebDavDocument import at.bitfire.davdroid.di.IoDispatcher diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CreateDocumentOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CreateDocumentOperation.kt index 6dc95392a..0f7623892 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CreateDocumentOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/CreateDocumentOperation.kt @@ -6,8 +6,8 @@ package at.bitfire.davdroid.webdav.operation import android.content.Context import android.provider.DocumentsContract.Document -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.db.WebDavDocument import at.bitfire.davdroid.di.IoDispatcher diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/DeleteDocumentOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/DeleteDocumentOperation.kt index 9d6bb6028..c18a58be9 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/DeleteDocumentOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/DeleteDocumentOperation.kt @@ -5,8 +5,8 @@ package at.bitfire.davdroid.webdav.operation import android.content.Context -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.di.IoDispatcher import at.bitfire.davdroid.webdav.DavHttpClientBuilder diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/MoveDocumentOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/MoveDocumentOperation.kt index f0be138de..31b067a01 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/MoveDocumentOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/MoveDocumentOperation.kt @@ -5,8 +5,8 @@ package at.bitfire.davdroid.webdav.operation import android.content.Context -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.di.IoDispatcher import at.bitfire.davdroid.webdav.DavHttpClientBuilder diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/OpenDocumentThumbnailOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/OpenDocumentThumbnailOperation.kt index 31281a524..a57a3a59a 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/OpenDocumentThumbnailOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/OpenDocumentThumbnailOperation.kt @@ -14,7 +14,7 @@ import android.net.ConnectivityManager import android.os.CancellationSignal import android.os.ParcelFileDescriptor import androidx.core.content.getSystemService -import at.bitfire.dav4jvm.DavResource +import at.bitfire.dav4jvm.okhttp.DavResource import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.di.IoDispatcher import at.bitfire.davdroid.webdav.DavHttpClientBuilder diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/QueryChildDocumentsOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/QueryChildDocumentsOperation.kt index 6622a2526..6f70e7bb5 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/QueryChildDocumentsOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/QueryChildDocumentsOperation.kt @@ -7,8 +7,8 @@ package at.bitfire.davdroid.webdav.operation import android.content.Context import android.provider.DocumentsContract.Document import android.provider.DocumentsContract.buildChildDocumentsUri -import at.bitfire.dav4jvm.DavCollection -import at.bitfire.dav4jvm.Response +import at.bitfire.dav4jvm.okhttp.DavCollection +import at.bitfire.dav4jvm.okhttp.Response import at.bitfire.dav4jvm.property.webdav.CurrentUserPrivilegeSet import at.bitfire.dav4jvm.property.webdav.DisplayName import at.bitfire.dav4jvm.property.webdav.GetContentLength @@ -33,6 +33,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch import kotlinx.coroutines.runInterruptible +import okhttp3.MediaType.Companion.toMediaTypeOrNull import java.io.FileNotFoundException import java.util.concurrent.ConcurrentHashMap import java.util.logging.Level @@ -155,7 +156,7 @@ class QueryChildDocumentsOperation @Inject constructor( isDirectory = response[ResourceType::class.java]?.types?.contains(ResourceType.COLLECTION) ?: resource.isDirectory, displayName = response[DisplayName::class.java]?.displayName, - mimeType = response[GetContentType::class.java]?.type, + mimeType = response[GetContentType::class.java]?.type?.toMediaTypeOrNull(), eTag = response[GetETag::class.java]?.takeIf { !it.weak }?.eTag, lastModified = response[GetLastModified::class.java]?.lastModified?.toEpochMilli(), size = response[GetContentLength::class.java]?.contentLength, diff --git a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/RenameDocumentOperation.kt b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/RenameDocumentOperation.kt index 06033988c..028a7bdfd 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/RenameDocumentOperation.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/webdav/operation/RenameDocumentOperation.kt @@ -5,8 +5,8 @@ package at.bitfire.davdroid.webdav.operation import android.content.Context -import at.bitfire.dav4jvm.DavResource -import at.bitfire.dav4jvm.exception.HttpException +import at.bitfire.dav4jvm.okhttp.DavResource +import at.bitfire.dav4jvm.okhttp.exception.HttpException import at.bitfire.davdroid.db.AppDatabase import at.bitfire.davdroid.di.IoDispatcher import at.bitfire.davdroid.webdav.DavHttpClientBuilder diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c2a16f529..e49c24d97 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,7 +19,7 @@ androidx-test-rules = "1.7.0" androidx-test-junit = "1.3.0" androidx-work = "2.11.0" bitfire-cert4android = "b3160b02b8" -bitfire-dav4jvm = "f11523619b" +bitfire-dav4jvm = "0979bd7e56" bitfire-synctools = "5fc6688ff6" compose-accompanist = "0.37.3" compose-bom = "2025.11.00"