From 98af3b858468e9af2c67e3b505b3c61850a0f360 Mon Sep 17 00:00:00 2001 From: Julian Winkler Date: Thu, 3 Oct 2024 22:38:34 +0200 Subject: [PATCH] WebView: HACK: make OctoDroid work without real javascriptInterface --- src/api-impl/android/webkit/WebView.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/api-impl/android/webkit/WebView.java b/src/api-impl/android/webkit/WebView.java index 6066e0f1..ffd650a0 100644 --- a/src/api-impl/android/webkit/WebView.java +++ b/src/api-impl/android/webkit/WebView.java @@ -29,7 +29,16 @@ public class WebView extends View { public void setVerticalScrollBarEnabled(boolean enabled) {} - public void addJavascriptInterface(Object dummy, String dummy2) {} + public void addJavascriptInterface(Object object, String name) { + // HACK: directly call onRenderingDone for OctoDroid, as the javascript interface is not implemented yet + if (object.getClass().getName().startsWith("com.gh4a") && "NativeClient".equals(name)) { + try { + object.getClass().getMethod("onRenderingDone").invoke(object); + } catch (ReflectiveOperationException e) { + e.printStackTrace(); + } + } + } public void setWebChromeClient(WebChromeClient dummy) {} @@ -42,6 +51,10 @@ public class WebView extends View { } public void loadUrl(String url) { + if (url.startsWith("javascript:")) { + System.out.println("loadUrl: " + url + " - not implemented yet"); + return; + } native_loadUrl(widget, url); }