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 {
json.contains("sourceUrl") ->

@ -1,12 +1,16 @@
package io.legado.app.ui.association
import android.app.Application
import androidx.core.net.toUri
import io.legado.app.R
import io.legado.app.help.config.ReadBookConfig
import io.legado.app.help.http.newCallResponseBody
import io.legado.app.help.http.okHttpClient
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 splitties.init.appCtx
class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) {
@ -72,8 +76,18 @@ class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) {
importReadConfig(rs.bytes(), finally)
}
else -> {
val json = rs.text("utf-8")
importJson(json)
val inputStream = rs.byteStream()
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