List of usage examples for org.apache.cordova CordovaArgs getJSONArray
public JSONArray getJSONArray(int index) throws JSONException
From source file:com.emeth.cordova.ble.central.BLECentralPlugin.java
License:Apache License
@Override public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { LOG.d(TAG, "action = " + action); if (bluetoothAdapter == null) { Activity activity = cordova.getActivity(); BluetoothManager bluetoothManager = (BluetoothManager) activity .getSystemService(Context.BLUETOOTH_SERVICE); bluetoothAdapter = bluetoothManager.getAdapter(); }/*from w ww . j av a 2s. co m*/ boolean validAction = true; if (action.equals(SCAN)) { UUID[] serviceUUIDs = parseServiceUUIDList(args.getJSONArray(0)); int scanSeconds = args.getInt(1); findLowEnergyDevices(callbackContext, serviceUUIDs, scanSeconds); } else if (action.equals(START_SCAN)) { UUID[] serviceUUIDs = parseServiceUUIDList(args.getJSONArray(0)); findLowEnergyDevices(callbackContext, serviceUUIDs, -1); } else if (action.equals(STOP_SCAN)) { bluetoothAdapter.stopLeScan(this); callbackContext.success(); } else if (action.equals(LIST)) { listKnownDevices(callbackContext); } else if (action.equals(CONNECT)) { String macAddress = args.getString(0); connect(callbackContext, macAddress); } else if (action.equals(DISCONNECT)) { String macAddress = args.getString(0); disconnect(callbackContext, macAddress); } else if (action.equals(READ)) { String macAddress = args.getString(0); UUID serviceUUID = uuidFromString(args.getString(1)); UUID characteristicUUID = uuidFromString(args.getString(2)); read(callbackContext, macAddress, serviceUUID, characteristicUUID); } else if (action.equals(WRITE)) { String macAddress = args.getString(0); UUID serviceUUID = uuidFromString(args.getString(1)); UUID characteristicUUID = uuidFromString(args.getString(2)); byte[] data = args.getArrayBuffer(3); int type = BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT; write(callbackContext, macAddress, serviceUUID, characteristicUUID, data, type); } else if (action.equals(WRITE_WITHOUT_RESPONSE)) { String macAddress = args.getString(0); UUID serviceUUID = uuidFromString(args.getString(1)); UUID characteristicUUID = uuidFromString(args.getString(2)); byte[] data = args.getArrayBuffer(3); int type = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE; write(callbackContext, macAddress, serviceUUID, characteristicUUID, data, type); } else if (action.equals(NOTIFY)) { String macAddress = args.getString(0); UUID serviceUUID = uuidFromString(args.getString(1)); UUID characteristicUUID = uuidFromString(args.getString(2)); registerNotifyCallback(callbackContext, macAddress, serviceUUID, characteristicUUID); } else if (action.equals(IS_ENABLED)) { if (bluetoothAdapter.isEnabled()) { callbackContext.success(); } else { callbackContext.error("Bluetooth is disabled."); } } else if (action.equals(IS_CONNECTED)) { String macAddress = args.getString(0); if (peripherals.containsKey(macAddress) && peripherals.get(macAddress).isConnected()) { callbackContext.success(); } else { callbackContext.error("Not connected."); } } else if (action.equals(SETTINGS)) { Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS); cordova.getActivity().startActivity(intent); callbackContext.success(); } else if (action.equals(ENABLE)) { enableBluetoothCallback = callbackContext; Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); cordova.startActivityForResult(this, intent, REQUEST_ENABLE_BLUETOOTH); } else { validAction = false; } return validAction; }
From source file:com.google.cordova.ChromeAlarms.java
License:Open Source License
private void clear(final CordovaArgs args, final CallbackContext callbackContext) { try {//from w w w . j ava 2 s .c o m JSONArray alarmNames = args.getJSONArray(0); for (int i = 0; i < alarmNames.length(); i++) { cancelAlarm(alarmNames.getString(i)); } callbackContext.success(); } catch (Exception e) { Log.e(LOG_TAG, "Could not clear alarm", e); callbackContext.error("Could not create alarm"); } }
From source file:com.google.cordova.FileChooser.java
License:Open Source License
/** * Executes the request and returns PluginResult. * * @param action The action to execute. * @param args JSONArray of arguments for the plugin. * @param callbackContext The callback context used when calling back into JavaScript. * @return True when the action was valid, false otherwise. *//*from www .j a v a2 s. c om*/ public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { this.callbackContext = callbackContext; if (action.equals("chooseFile")) { this.chooseFile(args.getJSONArray(0)); return true; } return false; }
From source file:com.microsoft.c3p.cordova.C3PCordovaPlugin.java
License:Open Source License
@Override public boolean execute(String action, CordovaArgs args, final CallbackContext callbackContext) throws JSONException { try {/* w ww . java 2 s. co m*/ if (JavaScriptBridge.CallType.GET_STATIC_PROPERTY.equals(action)) { String type = args.getString(0); String property = args.getString(1); JavaScriptValue value = this.bridge.getStaticProperty(type, property); C3PCordovaPlugin.returnResult(value, callbackContext); } else if (JavaScriptBridge.CallType.SET_STATIC_PROPERTY.equals(action)) { String type = args.getString(0); String property = args.getString(1); Object value = args.opt(2); this.bridge.setStaticProperty(type, property, JSValue.fromObject(value)); callbackContext.success(); } else if (JavaScriptBridge.CallType.INVOKE_STATIC_METHOD.equals(action)) { String type = args.getString(0); String method = args.getString(1); JSONArray arguments = args.getJSONArray(2); ChainablePromise<JavaScriptValue> returnValue = this.bridge.invokeStaticMethod(type, method, JSValue.fromObject(arguments)); C3PCordovaPlugin.returnFutureResult(returnValue, callbackContext, false); } else if (JavaScriptBridge.CallType.ADD_STATIC_EVENT_LISTENER.equals(action)) { String type = args.getString(0); String event = args.getString(1); Consumer<JavaScriptValue> eventListener = new Consumer<JavaScriptValue>() { @Override public void accept(JavaScriptValue eventObject) { C3PCordovaPlugin.returnResult(eventObject, callbackContext, true); } }; this.bridge.addStaticEventListener(type, event, eventListener); this.eventListenerMap.put(callbackContext.getCallbackId(), eventListener); C3PCordovaPlugin.returnResult(JSValue.fromString(callbackContext.getCallbackId()), callbackContext, true); } else if (JavaScriptBridge.CallType.REMOVE_STATIC_EVENT_LISTENER.equals(action)) { String type = args.getString(0); String event = args.getString(1); String registrationToken = args.getString(2); Consumer<JavaScriptValue> eventListener = this.eventListenerMap.get(registrationToken); if (eventListener != null) { this.bridge.removeStaticEventListener(type, event, eventListener); this.eventListenerMap.remove(registrationToken); } else { Log.w(TAG, "Event registration not found for callbackId: " + registrationToken); } callbackContext.success(); } else if (JavaScriptBridge.CallType.CREATE_INSTANCE.equals(action)) { String type = args.getString(0); JSONArray arguments = args.getJSONArray(1); JavaScriptValue instance = this.bridge.createInstance(type, JSValue.fromObject(arguments)); callbackContext.success((JSONObject) JSValue.toObject(instance)); } else if (JavaScriptBridge.CallType.RELEASE_INSTANCE.equals(action)) { JSONObject instance = args.getJSONObject(0); this.bridge.releaseInstance(JSValue.fromObject(instance)); callbackContext.success(); } else if (JavaScriptBridge.CallType.GET_PROPERTY.equals(action)) { JSONObject instance = args.getJSONObject(0); String property = args.getString(1); JavaScriptValue value = this.bridge.getProperty(JSValue.fromObject(instance), property); C3PCordovaPlugin.returnResult(value, callbackContext); } else if (JavaScriptBridge.CallType.SET_PROPERTY.equals(action)) { JSONObject instance = args.getJSONObject(0); String property = args.getString(1); Object value = args.opt(2); this.bridge.setProperty(JSValue.fromObject(instance), property, JSValue.fromObject(value)); callbackContext.success(); } else if (JavaScriptBridge.CallType.INVOKE_METHOD.equals(action)) { JSONObject instance = args.getJSONObject(0); String method = args.getString(1); JSONArray arguments = args.getJSONArray(2); ChainablePromise<JavaScriptValue> returnValue = this.bridge .invokeMethod(JSValue.fromObject(instance), method, JSValue.fromObject(arguments)); C3PCordovaPlugin.returnFutureResult(returnValue, callbackContext, false); } else if (JavaScriptBridge.CallType.ADD_EVENT_LISTENER.equals(action)) { JSONObject instance = args.getJSONObject(0); String event = args.getString(1); Consumer<JavaScriptValue> eventListener = new Consumer<JavaScriptValue>() { @Override public void accept(JavaScriptValue eventObject) { C3PCordovaPlugin.returnResult(eventObject, callbackContext, true); } }; this.bridge.addEventListener(JSValue.fromObject(instance), event, eventListener); this.eventListenerMap.put(callbackContext.getCallbackId(), eventListener); C3PCordovaPlugin.returnResult(JSValue.fromString(callbackContext.getCallbackId()), callbackContext, true); } else if (JavaScriptBridge.CallType.REMOVE_EVENT_LISTENER.equals(action)) { JSONObject instance = args.getJSONObject(0); String event = args.getString(1); String registrationToken = args.getString(2); Consumer<JavaScriptValue> eventListener = this.eventListenerMap.get(registrationToken); if (eventListener != null) { this.bridge.removeEventListener(JSValue.fromObject(instance), event, eventListener); this.eventListenerMap.remove(registrationToken); } else { Log.w(TAG, "Event registration not found for callbackId: " + registrationToken); } callbackContext.success(); } else { throw new IllegalArgumentException("Invalid action: " + action); } } catch (IllegalArgumentException iaex) { throw new RuntimeException(iaex); } catch (InvocationTargetException itex) { throw new RuntimeException(itex.getTargetException()); } return true; }
From source file:com.sldev.cordova.locale.LocalizationPlugin.java
License:Apache License
@Override public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { if (action.equals(ACTION_GET)) { String resourceId = args.getString(0); String resString = get(resourceId); if (resString != null) { callbackContext.success(resString); } else {/*from w w w. jav a 2 s .c o m*/ callbackContext.error("Resource not found: " + resourceId); } } else if (action.equals(ACTION_GET_ALL)) { LOG.d(TAG, args.toString()); JSONArray resIds = null; try { resIds = args.getJSONArray(0); } catch (JSONException je) { // no res ids callbackContext.error("Resource ID Error: " + je.getLocalizedMessage()); } Log.d(TAG, "getAll: " + resIds); String resString = getAll(resIds); if (resString != null) { callbackContext.success(resString); } else { callbackContext.error("GETALL: Resource not found: " + resIds); } } else if (action.equals(ACTION_REGISTER_CALLBACK)) { localeChangeListeners.put(callbackContext.getCallbackId(), callbackContext); PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT, callbackContext.getCallbackId()); result.setKeepCallback(true); callbackContext.sendPluginResult(result); } else if (action.equals(ACTION_UNREGISTER_CALLBACK)) { String callbackId = args.getString(0); if (callbackId != null && localeChangeListeners.containsKey(callbackId)) { localeChangeListeners.remove(callbackId); } else { callbackContext.error("Callback ID invalid."); } } else if (action.equals((ACTION_GET_LOCALE))) { callbackContext.success(getLocale()); } else { callbackContext.error("Invalid action: " + action); } return true; }
From source file:org.apache.appharness.AppHarnessUI.java
License:Apache License
@Override public boolean execute(String action, CordovaArgs args, final CallbackContext callbackContext) throws JSONException { if ("create".equals(action)) { final Uri startUri = Uri.parse(args.getString(0)); final Uri configXmlUri = Uri.parse(args.getString(1)); final Set<String> pluginIdWhitelistAsSet = jsonArrayToSet(args.getJSONArray(2)); final String webViewType = args.getString(3); this.cordova.getActivity().runOnUiThread(new Runnable() { public void run() { create(startUri, configXmlUri, pluginIdWhitelistAsSet, webViewType, callbackContext); }/*from ww w. j av a2 s. com*/ }); } else if ("reload".equals(action)) { final Uri startUri = Uri.parse(args.getString(0)); final Uri configXmlUri = Uri.parse(args.getString(1)); final Set<String> pluginIdWhitelistAsSet = jsonArrayToSet(args.getJSONArray(2)); this.cordova.getActivity().runOnUiThread(new Runnable() { public void run() { reload(startUri, configXmlUri, pluginIdWhitelistAsSet, callbackContext); } }); } else if ("destroy".equals(action)) { this.cordova.getActivity().runOnUiThread(new Runnable() { public void run() { destroy(callbackContext); } }); } else if ("setVisible".equals(action)) { final boolean value = args.getBoolean(0); this.cordova.getActivity().runOnUiThread(new Runnable() { public void run() { setSlaveVisible(value, callbackContext); } }); } else if ("evalJs".equals(action)) { final String code = args.getString(0); this.cordova.getActivity().runOnUiThread(new Runnable() { public void run() { evalJs(code, callbackContext); } }); } else if ("events".equals(action)) { eventsCallback = callbackContext; } else { return false; } return true; }
From source file:org.chromium.ChromeFileSystem.java
License:Open Source License
/** * Executes the request and returns PluginResult. * * @param action The action to execute. * @param args JSONArray of arguments for the plugin. * @param callbackContext The callback context used when calling back into JavaScript. * @return True when the action was valid, false otherwise. *//*from w ww .j a va2 s. c o m*/ public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { this.callbackContext = callbackContext; if (action.equals("chooseEntry")) { this.chooseFile(args.getJSONArray(0)); return true; } return false; }