pull/2289/head
Horis 2 years ago
parent 5a07143ab4
commit dfbb2022d5
  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