1
0
Fork 0

Use custom WebView client

This commit is contained in:
Alex Kotov 2021-08-14 14:42:51 +05:00
parent fb3c4188f8
commit 23c396f3c2
Signed by: kotovalexarian
GPG key ID: 553C0EBBEB5D5F08
2 changed files with 34 additions and 4 deletions

View 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)
}
}

View file

@ -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>
Та самая &ldquo;неправильная&rdquo; картинка.
@ -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>
Классификация сетевых топологий. Возможно, тоже неправильная или неполная.