From 5e6fdc9f24060194f96ab4c0c6be174e667c71bf Mon Sep 17 00:00:00 2001 From: kunfei Date: Tue, 21 Mar 2023 23:38:04 +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 --- .../ui/association/ImportBookSourceViewModel.kt | 15 ++++++++++----- .../java/io/legado/app/utils/GsonExtensions.kt | 12 ++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt index ebc58ce36..a505b41d7 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt @@ -7,6 +7,7 @@ import com.jayway.jsonpath.JsonPath import io.legado.app.R import io.legado.app.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.constant.AppPattern import io.legado.app.data.appDb import io.legado.app.data.entities.BookSource @@ -108,22 +109,26 @@ class ImportBookSourceViewModel(app: Application) : BaseViewModel(app) { } } } - mText.isJsonArray() -> GSON.fromJsonArray(mText).getOrThrow().let { items -> - allSources.addAll(items) + mText.isJsonArray() -> { + GSON.fromJsonArray(mText).getOrThrow().let { items -> + allSources.addAll(items) + } } mText.isAbsUrl() -> { importSourceUrl(mText) } mText.isUri() -> { val uri = Uri.parse(mText) - uri.inputStream(context).getOrThrow().let { - allSources.addAll(GSON.fromJsonArray(it).getOrThrow()) + uri.inputStream(context).getOrThrow().use { + GSON.fromJsonArray(it).getOrThrow().let {bookSources -> + allSources.addAll(bookSources) + } } } else -> throw NoStackTraceException(context.getString(R.string.wrong_format)) } }.onError { - it.printOnDebug() + AppLog.put("读取书源出错", it) errorLiveData.postValue(it.localizedMessage ?: "") }.onSuccess { comparisonSource() diff --git a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt b/app/src/main/java/io/legado/app/utils/GsonExtensions.kt index 21be285bb..e13d284f8 100644 --- a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/GsonExtensions.kt @@ -22,12 +22,12 @@ val GSON: Gson by lazy { ) .registerTypeAdapter(Int::class.java, IntJsonDeserializer()) .registerTypeAdapter(String::class.java, StringJsonDeserializer()) - .registerTypeAdapter(ExploreRule::class.java, ExploreRule.jsonDeserializer) - .registerTypeAdapter(SearchRule::class.java, SearchRule.jsonDeserializer) - .registerTypeAdapter(BookInfoRule::class.java, BookInfoRule.jsonDeserializer) - .registerTypeAdapter(TocRule::class.java, TocRule.jsonDeserializer) - .registerTypeAdapter(ContentRule::class.java, ContentRule.jsonDeserializer) - .registerTypeAdapter(ReviewRule::class.java, ReviewRule.jsonDeserializer) +// .registerTypeAdapter(ExploreRule::class.java, ExploreRule.jsonDeserializer) +// .registerTypeAdapter(SearchRule::class.java, SearchRule.jsonDeserializer) +// .registerTypeAdapter(BookInfoRule::class.java, BookInfoRule.jsonDeserializer) +// .registerTypeAdapter(TocRule::class.java, TocRule.jsonDeserializer) +// .registerTypeAdapter(ContentRule::class.java, ContentRule.jsonDeserializer) +// .registerTypeAdapter(ReviewRule::class.java, ReviewRule.jsonDeserializer) .disableHtmlEscaping() .setPrettyPrinting() .create()