From 67c4b71b880d80bb7ce36d312bf9e2805fda25f4 Mon Sep 17 00:00:00 2001 From: bapeey <90949336+bapeey@users.noreply.github.com> Date: Tue, 4 Nov 2025 11:28:40 +0545 Subject: [PATCH] Fix WebView crash introduced in v0.19.2 (#2649) (cherry picked from commit bdb0ce4779d565fc528e97bd38133a72ff3c1724) --- .../webview/WebViewScreenContent.kt | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt b/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt index d11316f79..5ce838164 100644 --- a/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt +++ b/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt @@ -133,21 +133,20 @@ fun WebViewScreenContent( view: WebView?, request: WebResourceRequest?, ): Boolean { - request?.let { - // Don't attempt to open blobs as webpages - if (it.url.toString().startsWith("blob:http")) { - return false - } + val url = request?.url?.toString() ?: return false - // Ignore intents urls - if (it.url.toString().startsWith("intent://")) { + // Ignore intents urls + if (url.startsWith("intent://")) return true + + // Only open valid web urls + if (url.startsWith("http") || url.startsWith("https")) { + if (url != view?.url) { + view?.loadUrl(url, headers) return true } - - // Continue with request, but with custom headers - view?.loadUrl(it.url.toString(), headers) } - return super.shouldOverrideUrlLoading(view, request) + + return false } } }