summaryrefslogtreecommitdiff
path: root/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.epube/src/main/java/org/fox/epube/MainActivity.java')
-rw-r--r--org.fox.epube/src/main/java/org/fox/epube/MainActivity.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
index 55086bf..168e058 100644
--- a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
+++ b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
@@ -19,6 +19,8 @@ import android.view.View;
import android.webkit.CookieManager;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
@@ -31,6 +33,8 @@ import com.livefront.bridge.Bridge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
+import androidx.webkit.WebViewAssetLoader;
+
import icepick.State;
public class MainActivity extends AppCompatActivity implements NetworkStateReceiver.NetworkStateReceiverListener {
@@ -62,6 +66,12 @@ public class MainActivity extends AppCompatActivity implements NetworkStateRecei
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
getSupportActionBar().setHomeButtonEnabled(true);
+ final WebViewAssetLoader assetLoader = new WebViewAssetLoader.Builder()
+ .setDomain(Uri.parse(m_baseUrl).getHost())
+ .addPathHandler("/assets/", new WebViewAssetLoader.AssetsPathHandler(this))
+ .addPathHandler("/res/", new WebViewAssetLoader.ResourcesPathHandler(this))
+ .build();
+
m_web = findViewById(R.id.webview_main);
WebSettings settings = m_web.getSettings();
@@ -70,6 +80,7 @@ public class MainActivity extends AppCompatActivity implements NetworkStateRecei
settings.setDomStorageEnabled(true);
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
settings.setDatabaseEnabled(true);
+ settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
settings.setAppCachePath(getCacheDir().getAbsolutePath());
settings.setAppCacheEnabled(true);
@@ -99,6 +110,13 @@ public class MainActivity extends AppCompatActivity implements NetworkStateRecei
m_web.setWebViewClient(new WebViewClient() {
@Override
+ public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
+ Log.d(TAG, "should intercept?=" + request.getUrl());
+
+ return assetLoader.shouldInterceptRequest(request.getUrl());
+ }
+
+ @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d(TAG, "load URL=" + url);