pull/83/head
kunfei 5 years ago
parent fb5d88a054
commit 8d52168468
  1. 23
      app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceViewModel.kt

@ -6,7 +6,6 @@ import com.jayway.jsonpath.JsonPath
import io.legado.app.App import io.legado.app.App
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.BaseViewModel import io.legado.app.base.BaseViewModel
import io.legado.app.data.api.IHttpGetApi
import io.legado.app.data.entities.RssSource import io.legado.app.data.entities.RssSource
import io.legado.app.help.http.HttpHelper import io.legado.app.help.http.HttpHelper
import io.legado.app.help.storage.Backup import io.legado.app.help.storage.Backup
@ -174,20 +173,18 @@ class RssSourceViewModel(application: Application) : BaseViewModel(application)
} }
private fun importSourceUrl(url: String): Int { private fun importSourceUrl(url: String): Int {
NetworkUtils.getBaseUrl(url)?.let { HttpHelper.simpleGet(url)?.let { body ->
val response = HttpHelper.getApiService<IHttpGetApi>(it).get(url, mapOf()).execute() val sources = mutableListOf<RssSource>()
response.body()?.let { body -> val items: List<Map<String, Any>> = jsonPath.parse(body).read("$")
val sources = mutableListOf<RssSource>() for (item in items) {
val items: List<Map<String, Any>> = jsonPath.parse(body).read("$") val jsonItem = jsonPath.parse(item)
for (item in items) { GSON.fromJsonObject<RssSource>(jsonItem.jsonString())?.let { source ->
val jsonItem = jsonPath.parse(item) sources.add(source)
GSON.fromJsonObject<RssSource>(jsonItem.jsonString())?.let { source ->
sources.add(source)
}
} }
App.db.rssSourceDao().insert(*sources.toTypedArray())
return sources.size
} }
App.db.rssSourceDao().insert(*sources.toTypedArray())
return sources.size
} }
return 0 return 0
} }

Loading…
Cancel
Save