From 8c88ded53dd1b4834c59a037da3877f4664bd7a8 Mon Sep 17 00:00:00 2001 From: kunfei Date: Wed, 2 Aug 2023 08:20:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/api/controller/BookController.kt | 2 +- app/src/main/java/io/legado/app/help/AppWebDav.kt | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/api/controller/BookController.kt b/app/src/main/java/io/legado/app/api/controller/BookController.kt index a089fcf4d..74582f58d 100644 --- a/app/src/main/java/io/legado/app/api/controller/BookController.kt +++ b/app/src/main/java/io/legado/app/api/controller/BookController.kt @@ -201,7 +201,7 @@ object BookController { /** * 保存书籍 */ - fun saveBook(postData: String?): ReturnData { + suspend fun saveBook(postData: String?): ReturnData { val returnData = ReturnData() GSON.fromJsonObject(postData).getOrNull()?.let { book -> AppWebDav.uploadBookProgress(book) diff --git a/app/src/main/java/io/legado/app/help/AppWebDav.kt b/app/src/main/java/io/legado/app/help/AppWebDav.kt index 3b3c5421a..b2b7d9eba 100644 --- a/app/src/main/java/io/legado/app/help/AppWebDav.kt +++ b/app/src/main/java/io/legado/app/help/AppWebDav.kt @@ -9,7 +9,6 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookProgress import io.legado.app.exception.NoStackTraceException import io.legado.app.help.config.AppConfig -import io.legado.app.help.coroutine.Coroutine import io.legado.app.help.storage.Backup import io.legado.app.help.storage.Restore import io.legado.app.lib.webdav.Authorization @@ -202,18 +201,18 @@ object AppWebDav { } } - fun uploadBookProgress(book: Book) { + suspend fun uploadBookProgress(book: Book) { val authorization = authorization ?: return if (!AppConfig.syncBookProgress) return if (!NetworkUtils.isAvailable()) return - Coroutine.async { + try { val bookProgress = BookProgress(book) val json = GSON.toJson(bookProgress) val url = getProgressUrl(book.name, book.author) WebDav(url, authorization).upload(json.toByteArray(), "application/json") book.syncTime = System.currentTimeMillis() - }.onError { - AppLog.put("上传进度失败\n${it.localizedMessage}", it) + } catch (e: Exception) { + AppLog.put("上传进度失败\n${e.localizedMessage}", e) } }