This is an automated email from the ASF dual-hosted git repository.

niklasmerz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-android.git


The following commit(s) were added to refs/heads/master by this push:
     new ff1ae21  feat: add backwards compatibility mode for WebViewAssetLoader 
(#1222)
ff1ae21 is described below

commit ff1ae2125a9fa0ef12331c2337be5faac5f16189
Author: Niklas Merz <[email protected]>
AuthorDate: Thu May 6 08:17:58 2021 +0200

    feat: add backwards compatibility mode for WebViewAssetLoader (#1222)
---
 framework/src/org/apache/cordova/ConfigXmlParser.java       | 13 +++++++++++--
 .../src/org/apache/cordova/engine/SystemWebViewEngine.java  |  8 ++++++++
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/framework/src/org/apache/cordova/ConfigXmlParser.java 
b/framework/src/org/apache/cordova/ConfigXmlParser.java
index ae9b57f..17b47b0 100644
--- a/framework/src/org/apache/cordova/ConfigXmlParser.java
+++ b/framework/src/org/apache/cordova/ConfigXmlParser.java
@@ -46,9 +46,14 @@ public class ConfigXmlParser {
     }
 
     public String getLaunchUrl() {
-        if (launchUrl == null) { 
+        if (launchUrl == null) {
             launchUrl = "https://"; +  this.prefs.getString("hostname", 
"localhost");
         }
+
+        if (this.prefs.getBoolean("AndroidInsecureFileModeEnabled", false)) {
+            launchUrl = "file:///android_asset/www/index.html";
+        }
+
         return launchUrl;
     }
 
@@ -142,7 +147,11 @@ public class ConfigXmlParser {
             if (src.charAt(0) == '/') {
                 src = src.substring(1);
             }
-            launchUrl = "https://"; +  this.prefs.getString("hostname", 
"localhost") + "/" + src;
+            if (this.prefs.getBoolean("AndroidInsecureFileModeEnabled", 
false)) {
+                launchUrl = "file:///android_asset/www/" + src;
+            } else {
+                launchUrl = "https://"; +  this.prefs.getString("hostname", 
"localhost") + "/" + src;
+            }
         }
     }
 }
diff --git a/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java 
b/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
index 2921d3d..ff37f9b 100755
--- a/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
+++ b/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java
@@ -159,6 +159,14 @@ public class SystemWebViewEngine implements 
CordovaWebViewEngine {
         settings.setSaveFormData(false);
         settings.setSavePassword(false);
 
+        if (preferences.getBoolean("AndroidInsecureFileModeEnabled", false)) {
+            //These settings are deprecated and loading content via file:// 
URLs is generally discouraged,
+            //but we allow this for compatibility reasons
+            LOG.d(TAG, "Enabled insecure file access");
+            settings.setAllowFileAccess(true);
+            settings.setAllowUniversalAccessFromFileURLs(true);
+        }
+
         settings.setMediaPlaybackRequiresUserGesture(false);
 
         // Enable database

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to