diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java index 936cd0ca4..2b5291df0 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java @@ -31,6 +31,7 @@ import androidx.annotation.Nullable; import java.util.HashMap; import org.kiwix.kiwixmobile.core.CoreApp; import org.kiwix.kiwixmobile.core.R; +import org.kiwix.kiwixmobile.core.reader.ZimFileReader; import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer; import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil; @@ -144,10 +145,17 @@ public abstract class CoreWebViewClient extends WebViewClient { @Nullable @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { - if (url.startsWith(CONTENT_PREFIX)) { - return zimReaderContainer.load(url); + final String migratedUrl = migrate(url); + if (migratedUrl.startsWith(CONTENT_PREFIX)) { + return zimReaderContainer.load(migratedUrl); } else { - return super.shouldInterceptRequest(view, url); + return super.shouldInterceptRequest(view, migratedUrl); } } + + private String migrate(String url) { + return url.startsWith(ZimFileReader.LEGACY_PREFIX) + ? url.replace(ZimFileReader.LEGACY_PREFIX, CONTENT_PREFIX) + : url; + } } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimFileReader.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimFileReader.kt index 2904628f0..5b36fb2d8 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimFileReader.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimFileReader.kt @@ -230,6 +230,10 @@ class ZimFileReader constructor( @JvmField val UI_URI: Uri? = Uri.parse("content://org.kiwix.ui/") + @JvmField + val LEGACY_PREFIX = + Uri.parse("content://${CoreApp.getInstance().packageName}.zim.base/").toString() + const val CONTENT_PREFIX: String = "zim://content/" private val INVERT_IMAGES_VIDEO = """