diff --git a/app/src/main/java/io/legado/app/help/storage/AppWebDav.kt b/app/src/main/java/io/legado/app/help/storage/AppWebDav.kt index 813671bec..74c8accf0 100644 --- a/app/src/main/java/io/legado/app/help/storage/AppWebDav.kt +++ b/app/src/main/java/io/legado/app/help/storage/AppWebDav.kt @@ -130,6 +130,14 @@ object AppWebDav { } } + suspend fun hasBackUp(): Boolean { + authorization?.let { + val url = "${rootWebDavUrl}${backupFileName}" + return WebDav(url, it).exists() + } + return false + } + suspend fun lastBackUp(): WebDavFile? { authorization?.let { var lastBackupFile: WebDavFile? = null diff --git a/app/src/main/java/io/legado/app/help/storage/Backup.kt b/app/src/main/java/io/legado/app/help/storage/Backup.kt index 02d66d420..6cfe2a562 100644 --- a/app/src/main/java/io/legado/app/help/storage/Backup.kt +++ b/app/src/main/java/io/legado/app/help/storage/Backup.kt @@ -51,8 +51,7 @@ object Backup { val lastBackup = LocalConfig.lastBackup if (lastBackup + TimeUnit.DAYS.toMillis(1) < System.currentTimeMillis()) { Coroutine.async { - val lastBackupWebDav = AppWebDav.lastBackUp() - if (lastBackupWebDav == null || lastBackup > lastBackupWebDav.lastModify.time) { + if (!AppWebDav.hasBackUp()) { backup(context, context.getPrefString(PreferKey.backupPath), true) } else { LocalConfig.lastBackup = System.currentTimeMillis()