#1659 Autoload next video - replace old urls on app upgrade

This commit is contained in:
Sean Mac Gillicuddy 2020-04-20 17:11:52 +01:00
parent 62d2ff3685
commit 22ae04af4f
2 changed files with 15 additions and 3 deletions

View File

@ -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;
}
}

View File

@ -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 =
"""