Example usage for org.apache.cordova CordovaArgs getJSONArray

List of usage examples for org.apache.cordova CordovaArgs getJSONArray

Introduction

In this page you can find the example usage for org.apache.cordova CordovaArgs getJSONArray.

Prototype

public JSONArray getJSONArray(int index) throws JSONException 

Source Link

Usage

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;
}