From a3f27466bdc93eed9fae4aa35ebab754600dbe02 Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 10 Oct 2024 14:44:55 +0200 Subject: [PATCH 1/2] add interface for messagehandler --- .../com/getcapacitor/IMessageHandler.java | 20 +++++++++++++++++++ .../java/com/getcapacitor/MessageHandler.java | 2 +- .../java/com/getcapacitor/PluginCall.java | 4 ++-- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java diff --git a/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java b/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java new file mode 100644 index 000000000..4e35f1b73 --- /dev/null +++ b/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java @@ -0,0 +1,20 @@ +package com.getcapacitor; + +public interface IMessageHandler { + /** + * Posts a message to a JavaScript context. It is expected to be a stringified JSON representation + * + * @param message The stringified json to be posted. + */ + void postMessage(String message); + + /** + * Sends a response message. + * + * @param call the plugin call, which is attached to the communication + * @param successResult the result of the native execution + * @param errorResult the error, that might have occured + * + */ + void sendResponseMessage(PluginCall call, PluginResult successResult, PluginResult errorResult); +} \ No newline at end of file diff --git a/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java b/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java index b71124e83..143728a84 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java +++ b/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java @@ -11,7 +11,7 @@ * MessageHandler handles messages from the WebView, dispatching them * to plugins. */ -public class MessageHandler { +public class MessageHandler implements IMessageHandler { private Bridge bridge; private WebView webView; diff --git a/android/capacitor/src/main/java/com/getcapacitor/PluginCall.java b/android/capacitor/src/main/java/com/getcapacitor/PluginCall.java index 7308f0712..63328eb37 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/PluginCall.java +++ b/android/capacitor/src/main/java/com/getcapacitor/PluginCall.java @@ -19,7 +19,7 @@ public class PluginCall { */ public static final String CALLBACK_ID_DANGLING = "-1"; - private final MessageHandler msgHandler; + private final IMessageHandler msgHandler; private final String pluginId; private final String callbackId; private final String methodName; @@ -33,7 +33,7 @@ public class PluginCall { @Deprecated private boolean isReleased = false; - public PluginCall(MessageHandler msgHandler, String pluginId, String callbackId, String methodName, JSObject data) { + public PluginCall(IMessageHandler msgHandler, String pluginId, String callbackId, String methodName, JSObject data) { this.msgHandler = msgHandler; this.pluginId = pluginId; this.callbackId = callbackId; From 65095374f2ad798b8b7081a562bd8bfe60699811 Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 10 Oct 2024 16:01:33 +0200 Subject: [PATCH 2/2] format --- .../src/main/java/com/getcapacitor/IMessageHandler.java | 2 +- .../src/main/java/com/getcapacitor/MessageHandler.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java b/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java index 4e35f1b73..800614c1e 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java +++ b/android/capacitor/src/main/java/com/getcapacitor/IMessageHandler.java @@ -17,4 +17,4 @@ public interface IMessageHandler { * */ void sendResponseMessage(PluginCall call, PluginResult successResult, PluginResult errorResult); -} \ No newline at end of file +} diff --git a/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java b/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java index 143728a84..f28674170 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java +++ b/android/capacitor/src/main/java/com/getcapacitor/MessageHandler.java @@ -49,6 +49,7 @@ public MessageHandler(Bridge bridge, WebView webView, PluginManager cordovaPlugi */ @JavascriptInterface @SuppressWarnings("unused") + @Override public void postMessage(String jsonStr) { try { JSObject postData = new JSObject(jsonStr); @@ -98,6 +99,7 @@ public void postMessage(String jsonStr) { } } + @Override public void sendResponseMessage(PluginCall call, PluginResult successResult, PluginResult errorResult) { try { PluginResult data = new PluginResult();