From 23c396f3c2fd2e7235fe07b766bccdf8077f8f93 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 14 Aug 2021 14:42:51 +0500 Subject: [PATCH] Use custom WebView client --- .../com/causa_arcana/CustomWebViewClient.kt | 28 +++++++++++++++++++ .../java/com/causa_arcana/MainActivity.kt | 10 ++++--- 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/causa_arcana/CustomWebViewClient.kt diff --git a/app/src/main/java/com/causa_arcana/CustomWebViewClient.kt b/app/src/main/java/com/causa_arcana/CustomWebViewClient.kt new file mode 100644 index 0000000..87e07e1 --- /dev/null +++ b/app/src/main/java/com/causa_arcana/CustomWebViewClient.kt @@ -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) + } +} diff --git a/app/src/main/java/com/causa_arcana/MainActivity.kt b/app/src/main/java/com/causa_arcana/MainActivity.kt index 4c5c1d4..da51d1d 100644 --- a/app/src/main/java/com/causa_arcana/MainActivity.kt +++ b/app/src/main/java/com/causa_arcana/MainActivity.kt @@ -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() {
- Та самая "неправильная" картинка.
Та самая “неправильная” картинка. @@ -91,7 +93,7 @@ class MainActivity : AppCompatActivity() {
- Классификация сетевых топологий. Возможно, тоже неправильная или неполная.
Классификация сетевых топологий. Возможно, тоже неправильная или неполная.