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() { private fun initLiveData() {
viewModel.contentLiveData.observe(this, Observer { 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 { viewModel.urlLiveData.observe(this, Observer {
webView.loadUrl(it) webView.loadUrl(it)

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

Loading…
Cancel
Save