Merge pull request #2289 from 821938089/little-fix

修复从链接调用导入书源问题
pull/2292/head
kunfei 2 years ago committed by GitHub
commit caa28a43a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      app/src/main/java/io/legado/app/ui/association/BaseAssociationViewModel.kt
  2. 18
      app/src/main/java/io/legado/app/ui/association/OnLineImportViewModel.kt

@ -21,7 +21,7 @@ abstract class BaseAssociationViewModel(application: Application) : BaseViewMode
} }
} }
fun importJson(json: String) { private fun importJson(json: String) {
//暂时根据文件内容判断属于什么 //暂时根据文件内容判断属于什么
when { when {
json.contains("sourceUrl") -> json.contains("sourceUrl") ->

@ -1,12 +1,16 @@
package io.legado.app.ui.association package io.legado.app.ui.association
import android.app.Application import android.app.Application
import androidx.core.net.toUri
import io.legado.app.R import io.legado.app.R
import io.legado.app.help.config.ReadBookConfig import io.legado.app.help.config.ReadBookConfig
import io.legado.app.help.http.newCallResponseBody import io.legado.app.help.http.newCallResponseBody
import io.legado.app.help.http.okHttpClient import io.legado.app.help.http.okHttpClient
import io.legado.app.help.http.text import io.legado.app.help.http.text
import io.legado.app.utils.FileUtils
import io.legado.app.utils.externalFiles
import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
import splitties.init.appCtx
class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) { class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) {
@ -72,8 +76,18 @@ class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) {
importReadConfig(rs.bytes(), finally) importReadConfig(rs.bytes(), finally)
} }
else -> { else -> {
val json = rs.text("utf-8") val inputStream = rs.byteStream()
importJson(json) val file = FileUtils.createFileIfNotExist(
appCtx.externalFiles,
"book_cache",
"scheme_import_cache.json"
)
file.outputStream().use { out ->
inputStream.use {
it.copyTo(out)
}
}
importJson(file.toUri())
} }
} }
} }

Loading…
Cancel
Save