From c1e358e7136ba2c99dda38301f25783547f569bc Mon Sep 17 00:00:00 2001 From: kunfei Date: Fri, 3 Mar 2023 23:43:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E4=B9=A6=E7=B1=8D=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E9=85=8D=E7=BD=AEwebDav,=E5=A4=9A=E4=B8=AAwebDav?= =?UTF-8?q?=E7=9C=8B=E6=83=85=E5=86=B5=E5=86=8D=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/book/import/remote/RemoteBookViewModel.kt | 13 +++++++++++++ .../app/ui/book/import/remote/ServerConfigDialog.kt | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookViewModel.kt index 180cff4bb..4465312cc 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookViewModel.kt @@ -6,9 +6,11 @@ import io.legado.app.constant.AppLog import io.legado.app.constant.BookType import io.legado.app.exception.NoStackTraceException import io.legado.app.help.AppWebDav +import io.legado.app.lib.webdav.Authorization import io.legado.app.model.localBook.LocalBook import io.legado.app.model.remote.RemoteBook import io.legado.app.model.remote.RemoteBookWebDav +import io.legado.app.utils.ACache import io.legado.app.utils.toastOnUi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.channels.awaitClose @@ -76,6 +78,17 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application) fun initData(onSuccess: () -> Unit) { execute { + val config = ACache.get().getAsJSONObject("remoteServerConfig") + if (config != null && config.has("url")) { + val url = config.getString("url") + if (url.isNotBlank()) { + val user = config.getString("user") + val password = config.getString("password") + val authorization = Authorization(user, password) + remoteBookWebDav = RemoteBookWebDav(url, authorization) + return@execute + } + } remoteBookWebDav = AppWebDav.defaultBookWebDav ?: throw NoStackTraceException("webDav没有配置") }.onError { diff --git a/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt index 62dba84a3..cfd2627ba 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt @@ -46,7 +46,11 @@ class ServerConfigDialog : BaseDialogFragment(R.layout.dialog_webdav_server, tru when (item.itemId) { R.id.menu_save -> { val data = getConfigData() - ACache.get().put("remoteServerConfig", GSON.toJson(data)) + if (data.isEmpty()) { + ACache.get().remove("remoteServerConfig") + } else { + ACache.get().put("remoteServerConfig", GSON.toJson(data)) + } dismissAllowingStateLoss() } }