diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.kt index 25b8ed045..3e7d238df 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.kt @@ -77,7 +77,7 @@ open class CoreWebViewClient( } @Suppress("NestedBlockDepth") - private fun handleUnsupportedFiles(url: String): Boolean { + fun handleUnsupportedFiles(url: String): Boolean { val extension = MimeTypeMap.getFileExtensionFromUrl(url) if (DOCUMENT_TYPES.containsKey(extension)) { callback.showSaveOrOpenUnsupportedFilesDialog(url, DOCUMENT_TYPES[extension]) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/KiwixWebView.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/KiwixWebView.kt index e3ac51b6e..494898034 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/KiwixWebView.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/KiwixWebView.kt @@ -54,7 +54,7 @@ open class KiwixWebView @SuppressLint("SetJavaScriptEnabled") constructor( attrs: AttributeSet, nonVideoView: ViewGroup, videoView: ViewGroup, - webViewClient: CoreWebViewClient, + private val webViewClient: CoreWebViewClient, val sharedPreferenceUtil: SharedPreferenceUtil ) : VideoEnabledWebView(context, attrs) { @@ -108,7 +108,11 @@ open class KiwixWebView @SuppressLint("SetJavaScriptEnabled") constructor( override fun performLongClick(): Boolean { val result = hitTestResult if (result.type == HitTestResult.SRC_ANCHOR_TYPE) { - result.extra?.let(callback::webViewLongClick) + result.extra?.let { + if (!webViewClient.handleUnsupportedFiles(it)) { + callback.webViewLongClick(it) + } + } return true } return super.performLongClick()