From 13064036fe3ae9cce78a2b55026ba1b158621893 Mon Sep 17 00:00:00 2001 From: Daniele Gobbetti Date: Wed, 23 Aug 2023 14:56:47 +0200 Subject: [PATCH] Fix pebble webview local content- and HttpService access. --- .../activities/ExternalPebbleJSActivity.java | 4 ++++ .../gadgetbridge/util/WebViewSingleton.java | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ExternalPebbleJSActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ExternalPebbleJSActivity.java index 4f9f26690..98c759908 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ExternalPebbleJSActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ExternalPebbleJSActivity.java @@ -195,6 +195,10 @@ public class ExternalPebbleJSActivity extends AbstractGBActivity { webSettings.setDomStorageEnabled(true); //needed for localstorage webSettings.setDatabaseEnabled(true); + //allow local js files access + webSettings.setAllowContentAccess(true); + webSettings.setAllowFileAccess(true); + webSettings.setAllowFileAccessFromFileURLs(true); JSInterface gbJSInterface = new JSInterface(device, uuid); myWebView.addJavascriptInterface(gbJSInterface, "GBjs"); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java index f8902eb69..2309baa26 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java @@ -108,6 +108,11 @@ public class WebViewSingleton { webSettings.setDomStorageEnabled(true); //needed for localstorage webSettings.setDatabaseEnabled(true); + //allow local js files access + webSettings.setAllowContentAccess(true); + webSettings.setAllowFileAccess(true); + webSettings.setAllowFileAccessFromFileURLs(true); + webSettings.setAllowUniversalAccessFromFileURLs(true); } } @@ -201,8 +206,11 @@ public class WebViewSingleton { contextWrapper.getPackageManager().getApplicationInfo(internetHelperPkg, 0); Intent intent = new Intent(); intent.setComponent(new ComponentName(internetHelperPkg, internetHelperCls)); - contextWrapper.getApplicationContext().bindService(intent, internetHelperConnection, Context.BIND_AUTO_CREATE); internetHelperInstalled = true; + + final Intent intent1 = new Intent("nodomain.freeyourgadget.internethelper.HttpService"); + intent1.setPackage("nodomain.freeyourgadget.internethelper"); + contextWrapper.getApplicationContext().bindService(intent1, internetHelperConnection, Context.BIND_AUTO_CREATE); } catch (PackageManager.NameNotFoundException e) { internetHelperInstalled = false;