You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2015/03/12 21:35:25 UTC

android commit: Tweak `PluginManager.setPluginEntries()` to create startup plugins when called post `init()`

Repository: cordova-android
Updated Branches:
  refs/heads/master e1828696f -> f764448cc


Tweak `PluginManager.setPluginEntries()` to create startup plugins when called post `init()`


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/f764448c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/f764448c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/f764448c

Branch: refs/heads/master
Commit: f764448ccc17936009b51be47a9833f150d7c199
Parents: e182869
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Mar 12 16:33:55 2015 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Mar 12 16:33:55 2015 -0400

----------------------------------------------------------------------
 framework/src/org/apache/cordova/PluginManager.java | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/f764448c/framework/src/org/apache/cordova/PluginManager.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/PluginManager.java b/framework/src/org/apache/cordova/PluginManager.java
index 030436c..72ce8d0 100755
--- a/framework/src/org/apache/cordova/PluginManager.java
+++ b/framework/src/org/apache/cordova/PluginManager.java
@@ -44,6 +44,7 @@ public class PluginManager {
 
     private final CordovaInterface ctx;
     private final CordovaWebView app;
+    private boolean isInitialized;
 
     public PluginManager(CordovaWebView cordovaWebView, CordovaInterface cordova, Collection<PluginEntry> pluginEntries) {
         this.ctx = cordova;
@@ -56,13 +57,18 @@ public class PluginManager {
     }
 
     public void setPluginEntries(Collection<PluginEntry> pluginEntries) {
-        this.onPause(false);
-        this.onDestroy();
-        pluginMap.clear();
-        entryMap.clear();
+        if (isInitialized) {
+            this.onPause(false);
+            this.onDestroy();
+            pluginMap.clear();
+            entryMap.clear();
+        }
         for (PluginEntry entry : pluginEntries) {
             addService(entry);
         }
+        if (isInitialized) {
+            startupPlugins();
+        }
     }
 
     /**
@@ -70,6 +76,7 @@ public class PluginManager {
      */
     public void init() {
         LOG.d(TAG, "init()");
+        isInitialized = true;
         this.onPause(false);
         this.onDestroy();
         pluginMap.clear();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org