Add CordovaPlugin.getServiceName()

This commit is contained in:
Andrew Grieve 2015-03-18 10:47:23 -04:00
parent f6e56b345d
commit 15530a4820
2 changed files with 12 additions and 3 deletions

View File

@ -35,13 +35,15 @@ public class CordovaPlugin {
public CordovaWebView webView; public CordovaWebView webView;
public CordovaInterface cordova; public CordovaInterface cordova;
protected CordovaPreferences preferences; protected CordovaPreferences preferences;
private String serviceName;
/** /**
* Call this after constructing to initialize the plugin. * Call this after constructing to initialize the plugin.
* Final because we want to be able to change args without breaking plugins. * Final because we want to be able to change args without breaking plugins.
*/ */
public final void privateInitialize(CordovaInterface cordova, CordovaWebView webView, CordovaPreferences preferences) { public final void privateInitialize(String serviceName, CordovaInterface cordova, CordovaWebView webView, CordovaPreferences preferences) {
assert this.cordova == null; assert this.cordova == null;
this.serviceName = serviceName;
this.cordova = cordova; this.cordova = cordova;
this.webView = webView; this.webView = webView;
this.preferences = preferences; this.preferences = preferences;
@ -62,6 +64,13 @@ public class CordovaPlugin {
*/ */
protected void pluginInitialize() { protected void pluginInitialize() {
} }
/**
* Returns the plugin's service name (what you'd use when calling pluginManger.getPlugin())
*/
public String getServiceName() {
return serviceName;
}
/** /**
* Executes the request. * Executes the request.

View File

@ -165,7 +165,7 @@ public class PluginManager {
} else { } else {
ret = instantiatePlugin(pe.pluginClass); ret = instantiatePlugin(pe.pluginClass);
} }
ret.privateInitialize(ctx, app, app.getPreferences()); ret.privateInitialize(service, ctx, app, app.getPreferences());
pluginMap.put(service, ret); pluginMap.put(service, ret);
} }
return ret; return ret;
@ -192,7 +192,7 @@ public class PluginManager {
public void addService(PluginEntry entry) { public void addService(PluginEntry entry) {
this.entryMap.put(entry.service, entry); this.entryMap.put(entry.service, entry);
if (entry.plugin != null) { if (entry.plugin != null) {
entry.plugin.privateInitialize(ctx, app, app.getPreferences()); entry.plugin.privateInitialize(entry.service, ctx, app, app.getPreferences());
pluginMap.put(entry.service, entry.plugin); pluginMap.put(entry.service, entry.plugin);
} }
} }