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 2014/07/10 22:40:08 UTC
android commit: Add PluginManager.setPluginEntries,
delete setPluginWhitelist
Repository: cordova-android
Updated Branches:
refs/heads/4.0.x a4f6d9f6e -> b27720283
Add PluginManager.setPluginEntries, delete setPluginWhitelist
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/b2772028
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/b2772028
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/b2772028
Branch: refs/heads/4.0.x
Commit: b277202838dbb95e1688123324d19968471526f3
Parents: a4f6d9f
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Jul 10 16:39:46 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Jul 10 16:39:46 2014 -0400
----------------------------------------------------------------------
.../src/org/apache/cordova/PluginManager.java | 33 ++++++++++----------
1 file changed, 16 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/b2772028/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 699f7cb..23be8e4 100755
--- a/framework/src/org/apache/cordova/PluginManager.java
+++ b/framework/src/org/apache/cordova/PluginManager.java
@@ -18,9 +18,8 @@
*/
package org.apache.cordova;
+import java.util.Collection;
import java.util.HashMap;
-import java.util.List;
-import java.util.Set;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.CallbackContext;
@@ -51,20 +50,26 @@ public class PluginManager {
private final CordovaInterface ctx;
private final CordovaWebView app;
- private Set<String> pluginIdWhitelist;
-
- public PluginManager(CordovaWebView cordovaWebView, CordovaInterface cordova, List<PluginEntry> pluginEntries) {
+ public PluginManager(CordovaWebView cordovaWebView, CordovaInterface cordova, Collection<PluginEntry> pluginEntries) {
this.ctx = cordova;
this.app = cordovaWebView;
+ setPluginEntries(pluginEntries);
+ }
+
+ public Collection<PluginEntry> getPluginEntries() {
+ return entries.values();
+ }
+
+ public void setPluginEntries(Collection<PluginEntry> pluginEntries) {
+ this.onPause(false);
+ this.onDestroy();
+ this.clearPluginObjects();
+ entries.clear();
for (PluginEntry entry : pluginEntries) {
addService(entry);
}
}
- public void setPluginIdWhitelist(Set<String> pluginIdWhitelist) {
- this.pluginIdWhitelist = pluginIdWhitelist;
- }
-
/**
* Init when loading a new HTML page into webview.
*/
@@ -91,9 +96,7 @@ public class PluginManager {
public void startupPlugins() {
for (PluginEntry entry : this.entries.values()) {
if (entry.onload) {
- if (pluginIdWhitelist == null || pluginIdWhitelist.contains(entry.service)) {
- entry.createPlugin(this.app, this.ctx);
- }
+ entry.createPlugin(this.app, this.ctx);
}
}
}
@@ -160,11 +163,7 @@ public class PluginManager {
}
CordovaPlugin plugin = entry.plugin;
if (plugin == null) {
- if (pluginIdWhitelist == null || pluginIdWhitelist.contains(entry.service)) {
- plugin = entry.createPlugin(this.app, this.ctx);
- } else {
- Log.e(TAG, "Attempted to access non-whitelisted plugin: " + entry.service);
- }
+ plugin = entry.createPlugin(this.app, this.ctx);
}
return plugin;
}