feat: 优化代码

pull/121/head
kunfei 5 years ago
parent 034978da88
commit b6ed0f44e3
  1. 18
      app/src/main/java/io/legado/app/ui/rss/read/ReadRssActivity.kt
  2. 6
      app/src/main/java/io/legado/app/utils/ContextExtensions.kt

@ -5,7 +5,9 @@ import android.os.Bundle
import android.view.KeyEvent
import android.view.Menu
import android.view.MenuItem
import android.webkit.WebResourceRequest
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.lifecycle.Observer
import io.legado.app.R
@ -14,6 +16,7 @@ import io.legado.app.lib.theme.DrawableUtils
import io.legado.app.lib.theme.primaryTextColor
import io.legado.app.utils.NetworkUtils
import io.legado.app.utils.getViewModel
import io.legado.app.utils.openUrl
import kotlinx.android.synthetic.main.activity_rss_read.*
import kotlinx.coroutines.launch
import org.apache.commons.text.StringEscapeUtils
@ -62,7 +65,20 @@ class ReadRssActivity : VMBaseActivity<ReadRssViewModel>(R.layout.activity_rss_r
}
private fun initWebView() {
webView.webViewClient = WebViewClient()
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(
view: WebView?,
request: WebResourceRequest?
): Boolean {
if (request?.url?.scheme == "http" || request?.url?.scheme == "https") {
return false
}
request?.url?.let {
openUrl(it)
}
return true
}
}
webView.settings.apply {
mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
domStorageEnabled = true

@ -149,8 +149,12 @@ val Context.sysBattery: Int
}
fun Context.openUrl(url: String) {
openUrl(Uri.parse(url))
}
fun Context.openUrl(uri: Uri) {
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(url)
intent.data = uri
if (intent.resolveActivity(packageManager) != null) {
try {
startActivity(intent)

Loading…
Cancel
Save