From a62f699380c19dee1f831f7ebee190ea6df766ed Mon Sep 17 00:00:00 2001 From: Norman Breau Date: Fri, 21 Apr 2023 16:00:11 -0300 Subject: [PATCH] fix!: Make CoreAndroid plugin instantiate on load (#1605) I don't anticipate breaking changes from this change, however it is a difference in behaviour since CoreAndroid won't be lazily loaded, therefore I've marked this commit has a breaking change. --- .../src/org/apache/cordova/CordovaWebViewImpl.java | 2 +- framework/src/org/apache/cordova/PluginManager.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/CordovaWebViewImpl.java b/framework/src/org/apache/cordova/CordovaWebViewImpl.java index 2b8a8f89..1a48f8b1 100644 --- a/framework/src/org/apache/cordova/CordovaWebViewImpl.java +++ b/framework/src/org/apache/cordova/CordovaWebViewImpl.java @@ -115,7 +115,7 @@ public class CordovaWebViewImpl implements CordovaWebView { // This isn't enforced by the compiler, so assert here. assert engine.getView() instanceof CordovaWebViewEngine.EngineView; - pluginManager.addService(CoreAndroid.PLUGIN_NAME, "org.apache.cordova.CoreAndroid"); + pluginManager.addService(CoreAndroid.PLUGIN_NAME, "org.apache.cordova.CoreAndroid", true); pluginManager.init(); } diff --git a/framework/src/org/apache/cordova/PluginManager.java b/framework/src/org/apache/cordova/PluginManager.java index 9531e8fa..7d9df723 100755 --- a/framework/src/org/apache/cordova/PluginManager.java +++ b/framework/src/org/apache/cordova/PluginManager.java @@ -197,7 +197,18 @@ public class PluginManager { * @param className The plugin class name */ public void addService(String service, String className) { - PluginEntry entry = new PluginEntry(service, className, false); + addService(service, className, false); + } + + /** + * Add a plugin class that implements a service to the service entry table. + * + * @param service The service name + * @param className The plugin class name + * @param onload If true, the plugin will be instantiated immediately + */ + public void addService(String service, String className, boolean onload) { + PluginEntry entry = new PluginEntry(service, className, onload); this.addService(entry); }