Skip to content

Commit 8e08ace

Browse files
authored
Merge pull request #3870 from kiwix/Fixes#3869
Fixed: Long clicking on Download button in epub ZIM files shows the `Open in new tab` dialog which leads to a blank page.
2 parents 694e76b + 630966d commit 8e08ace

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ open class CoreWebViewClient(
7777
}
7878

7979
@Suppress("NestedBlockDepth")
80-
private fun handleUnsupportedFiles(url: String): Boolean {
80+
fun handleUnsupportedFiles(url: String): Boolean {
8181
val extension = MimeTypeMap.getFileExtensionFromUrl(url)
8282
if (DOCUMENT_TYPES.containsKey(extension)) {
8383
callback.showSaveOrOpenUnsupportedFilesDialog(url, DOCUMENT_TYPES[extension])

core/src/main/java/org/kiwix/kiwixmobile/core/main/KiwixWebView.kt

+6-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ open class KiwixWebView @SuppressLint("SetJavaScriptEnabled") constructor(
5454
attrs: AttributeSet,
5555
nonVideoView: ViewGroup,
5656
videoView: ViewGroup,
57-
webViewClient: CoreWebViewClient,
57+
private val webViewClient: CoreWebViewClient,
5858
val sharedPreferenceUtil: SharedPreferenceUtil
5959
) : VideoEnabledWebView(context, attrs) {
6060

@@ -108,7 +108,11 @@ open class KiwixWebView @SuppressLint("SetJavaScriptEnabled") constructor(
108108
override fun performLongClick(): Boolean {
109109
val result = hitTestResult
110110
if (result.type == HitTestResult.SRC_ANCHOR_TYPE) {
111-
result.extra?.let(callback::webViewLongClick)
111+
result.extra?.let {
112+
if (!webViewClient.handleUnsupportedFiles(it)) {
113+
callback.webViewLongClick(it)
114+
}
115+
}
112116
return true
113117
}
114118
return super.performLongClick()

0 commit comments

Comments
 (0)