Use custom WebView client
This commit is contained in:
parent
fb3c4188f8
commit
23c396f3c2
2 changed files with 34 additions and 4 deletions
28
app/src/main/java/com/causa_arcana/CustomWebViewClient.kt
Normal file
28
app/src/main/java/com/causa_arcana/CustomWebViewClient.kt
Normal file
|
@ -0,0 +1,28 @@
|
|||
package com.causa_arcana
|
||||
|
||||
import android.content.Context
|
||||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebResourceResponse
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
|
||||
class CustomWebViewClient(private val context: Context): WebViewClient() {
|
||||
override fun shouldInterceptRequest(
|
||||
view: WebView?,
|
||||
request: WebResourceRequest,
|
||||
): WebResourceResponse? {
|
||||
val url = request.url.toString()
|
||||
|
||||
if (url == "https://causa-arcana.com/assets/images/blog/decentralized-vs-distributed-wrong.png") {
|
||||
return WebResourceResponse("image/png", "utf-8",
|
||||
context.assets.open("decentralized-vs-distributed-wrong.png"))
|
||||
}
|
||||
|
||||
if (url == "https://causa-arcana.com/assets/images/blog/network-topologies.png") {
|
||||
return WebResourceResponse("image/png", "utf-8",
|
||||
context.assets.open("network-topologies.png"))
|
||||
}
|
||||
|
||||
return super.shouldInterceptRequest(view, request)
|
||||
}
|
||||
}
|
|
@ -2,7 +2,6 @@ package com.causa_arcana
|
|||
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.util.Base64
|
||||
import android.webkit.WebView
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
@ -12,13 +11,16 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
val mainWebView: WebView = findViewById(R.id.mainWebView)
|
||||
|
||||
val customWebViewClient = CustomWebViewClient(applicationContext)
|
||||
mainWebView.webViewClient = customWebViewClient
|
||||
|
||||
val htmlGenerator = HtmlGenerator(
|
||||
"Почему сложно писать о передовых информационных технологиях?",
|
||||
contentHtml,
|
||||
)
|
||||
|
||||
mainWebView.loadDataWithBaseURL("https://causa-arcana.com", htmlGenerator.fullHtml(),
|
||||
"text/html", "UTF-8", "")
|
||||
"text/html", "utf-8", "")
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -54,7 +56,7 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
<div class="d-flex justify-content-center">
|
||||
<figure class="nice-figure">
|
||||
<img src="file:///android_asset/decentralized-vs-distributed-wrong.png"
|
||||
<img src="https://causa-arcana.com/assets/images/blog/decentralized-vs-distributed-wrong.png"
|
||||
alt='Та самая "неправильная" картинка.'/>
|
||||
<figcaption>
|
||||
Та самая “неправильная” картинка.
|
||||
|
@ -91,7 +93,7 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
<div class="d-flex justify-content-center">
|
||||
<figure class="nice-figure">
|
||||
<img src="file:///android_asset/network-topologies.png"
|
||||
<img src="https://causa-arcana.com/assets/images/blog/network-topologies.png"
|
||||
alt="Классификация сетевых топологий. Возможно, тоже неправильная или неполная."/>
|
||||
<figcaption>
|
||||
Классификация сетевых топологий. Возможно, тоже неправильная или неполная.
|
||||
|
|
Reference in a new issue