pull/37/head
kunfei 5 years ago
parent db05963ed3
commit f1063bac0e
  1. 8
      app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt
  2. 16
      app/src/main/java/io/legado/app/ui/rss/read/ReadRssViewModel.kt

@ -20,7 +20,13 @@ class ReadRssActivity : VMBaseActivity<ReadRssViewModel>(R.layout.activity_rss_r
private fun initLiveData() {
viewModel.contentLiveData.observe(this, Observer {
webView.loadData("<style>img{max-width:100%}</style>$it", "text/html", "utf-8")
webView.loadDataWithBaseURL(
viewModel.rssArticle?.link,
"<style>img{max-width:100%}</style>$it",
"text/html",
"utf-8",
viewModel.rssArticle?.link
)
})
viewModel.urlLiveData.observe(this, Observer {
webView.loadUrl(it)

@ -11,7 +11,7 @@ import io.legado.app.model.analyzeRule.AnalyzeUrl
import io.legado.app.utils.NetworkUtils
class ReadRssViewModel(application: Application) : BaseViewModel(application) {
var rssArticle: RssArticle? = null
val contentLiveData = MutableLiveData<String>()
val urlLiveData = MutableLiveData<String>()
@ -20,8 +20,8 @@ class ReadRssViewModel(application: Application) : BaseViewModel(application) {
val origin = intent.getStringExtra("origin")
val title = intent.getStringExtra("title")
if (origin != null && title != null) {
val rssArticle = App.db.rssArtivleDao().get(origin, title)
if (rssArticle != null) {
rssArticle = App.db.rssArtivleDao().get(origin, title)
rssArticle?.let { rssArticle ->
if (!rssArticle.description.isNullOrBlank()) {
contentLiveData.postValue(rssArticle.description)
} else {
@ -50,13 +50,13 @@ class ReadRssViewModel(application: Application) : BaseViewModel(application) {
rssArticle.link?.let {
AnalyzeUrl(it, baseUrl = rssArticle.origin).getResponseAsync().await().body()
?.let { body ->
AnalyzeRule().apply {
setContent(body)
getString(ruleContent)?.let { content ->
contentLiveData.postValue(content)
AnalyzeRule().apply {
setContent(body)
getString(ruleContent)?.let { content ->
contentLiveData.postValue(content)
}
}
}
}
}
}
}

Loading…
Cancel
Save