From 92eaff19ae6901d82b2e22cfbe870fb4add71e43 Mon Sep 17 00:00:00 2001 From: HapeLee <63206378+HapeLee@users.noreply.github.com> Date: Tue, 30 Jun 2026 09:02:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20WebDAV=E9=94=99=E8=AF=AF=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E7=9A=84=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/ui/main/MainActivity.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index 11f06aa9a..72d464c5d 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -35,7 +35,6 @@ import io.legado.app.BuildConfig import io.legado.app.R import io.legado.app.base.BaseComposeActivity import io.legado.app.constant.AppConst.appInfo -import io.legado.app.constant.PreferKey import io.legado.app.help.book.BookHelp import io.legado.app.help.config.AppConfig import io.legado.app.help.config.LocalConfig @@ -56,6 +55,7 @@ import io.legado.app.ui.widget.dialog.VariableDialog import io.legado.app.utils.LogUtils import io.legado.app.utils.showDialogFragment import io.legado.app.utils.startActivity +import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.launch @@ -391,8 +391,13 @@ open class MainActivity : BaseComposeActivity(), VariableDialog.Callback { return } lifecycleScope.launch { - val lastBackupFile = - withContext(IO) { viewModel.getLatestWebDavBackup() } ?: return@launch + val lastBackupFile = try { + withContext(IO) { viewModel.getLatestWebDavBackup() } + } catch (error: CancellationException) { + throw error + } catch (_: Exception) { + return@launch + } ?: return@launch if (lastBackupFile.lastModify - LocalConfig.lastBackup > DateUtils.MINUTE_IN_MILLIS) { LocalConfig.lastBackup = lastBackupFile.lastModify alert(R.string.restore, R.string.webdav_after_local_restore_confirm) {