Additional improvements of method configure

This commit is contained in:
Sebastián Katzer
2017-02-10 20:52:42 +01:00
parent 5fdfb9885c
commit 110ec9d024
2 changed files with 103 additions and 94 deletions

View File

@@ -268,29 +268,19 @@ public class BackgroundMode extends CordovaPlugin {
* @param params Optional arguments for the event
*/
private void fireEvent (Event event, String params) {
String eventName;
String eventName = event.name().toLowerCase();
Boolean active = event == Event.ACTIVATE;
switch (event) {
case ACTIVATE:
eventName = "activate"; break;
case DEACTIVATE:
eventName = "deactivate"; break;
default:
eventName = "failure";
}
String active = event == Event.ACTIVATE ? "true" : "false";
String flag = String.format("%s._isActive=%s;",
String str = String.format("%s._setActive(%b)",
JS_NAMESPACE, active);
String depFn = String.format("%s.on%s(%s);",
JS_NAMESPACE, eventName, params);
str = String.format("%s;%s.on%s(%s)",
str, JS_NAMESPACE, eventName, params);
String fn = String.format("%s.fireEvent('%s',%s);",
JS_NAMESPACE, eventName, params);
str = String.format("%s;%s.fireEvent('%s',%s);",
str, JS_NAMESPACE, eventName, params);
final String js = flag + fn + depFn;
final String js = str;
cordova.getActivity().runOnUiThread(new Runnable() {
@Override