Example usage for org.apache.cordova CallbackContext error

List of usage examples for org.apache.cordova CallbackContext error

Introduction

In this page you can find the example usage for org.apache.cordova CallbackContext error.

Prototype

public void error(int message) 

Source Link

Document

Helper for error callbacks that just returns the Status.ERROR by default

Usage

From source file:BarcodeReaderPlugin.java

private void createReader(final CallbackContext callbackContext) {
    Log.v(TAG, "createReader: start");

    if ((manager != null) || (barcodeReader != null)) {
        Log.w(TAG, "createReader: AidcManager and/or BarcodeReader objects already created");
        callbackContext.error("reader already created");
        return;//from ww w. j  a va2  s . c  om
    }

    // CreatedCallback.onCreated() callback occurs on different thread so use countdown latch to sync
    final CountDownLatch createCompleted = new CountDownLatch(1);

    // Create AIDC Manager object
    Log.v(TAG, "createReader: creating AidcManager");
    AidcManager.create(this.cordova.getActivity().getApplicationContext(), new AidcManager.CreatedCallback() {
        @Override
        public void onCreated(AidcManager aidcManager) {
            Log.v(TAG, "createReader.CreatedCallback: start");
            manager = aidcManager;
            Log.v(TAG, "createReader.CreatedCallback: end");
            createCompleted.countDown();
        }
    });

    // Wait here for onCreated() to complete
    try {
        createCompleted.await();
    } catch (InterruptedException ex) {
    }
    ;
    Log.v(TAG, "createReader: AidcManager created");

    // Get BarcodeReader object from AIDC Manager
    Log.v(TAG, "createReader: creating BarcodeReader");
    barcodeReader = manager.createBarcodeReader();

    if (barcodeReader != null) {
        Log.v(TAG, "createReader: BarcodeReader created");

        try {
            // Set trigger mode to "auto" so we don't have to handle the trigger ourselves
            Log.v(TAG, "createReader: setting trigger property to auto");
            barcodeReader.setProperty(BarcodeReader.PROPERTY_TRIGGER_CONTROL_MODE,
                    BarcodeReader.TRIGGER_CONTROL_MODE_AUTO_CONTROL);
        } catch (UnsupportedPropertyException ex) {
            Log.e(TAG, "createReader: failed to set trigger control to auto");
            closeReader();
            callbackContext.error("failed to set trigger control to auto");
            return;
        }

        try {
            // Claim the scanner now
            Log.v(TAG, "createReader: claiming barcode reader");
            barcodeReader.claim();
        } catch (ScannerUnavailableException ex) {
            Log.e(TAG, "createReader: failed to claim barcode reader");
            closeReader();
            callbackContext.error("failed to claim barcode reader");
            return;
        }

        Log.v(TAG, "createReader: successfully created and initialized barcode reader");
        callbackContext.success();
    } else {
        Log.e(TAG, "createReader: failed to create BarcodeReader object");
        callbackContext.error("failed to create barcode reader");
        return;
    }

    Log.v(TAG, "createReader: end");
}

From source file:BarcodeReaderPlugin.java

private void setProperties(CallbackContext callbackContext, JSONArray args) {
    Log.v(TAG, "setProperties");

    // Return now if barcode reader object not created yet
    if (barcodeReader == null) {
        Log.e(TAG, "setProperties: barcodeReader is null");
        callbackContext.error("Barcode reader not created");
        return;//from  w w  w .  j  ava  2s .c o m
    }

    // We are expecting one or more name,value pairs so args.length should be an even number
    int length = args.length();
    Log.v(TAG, "setProperties: args.length=" + length);
    if ((length % 2) != 0) {
        Log.e(TAG, "setProperties: odd number of elements in argument array");
        callbackContext.error("odd number of elements in argument array");
        return;
    }

    // Convert JSONArray into HashMap of pair,value elements representing properties to set
    Map<String, Object> properties = new HashMap<String, Object>();
    String propName;
    Object propValue;
    try {
        for (int i = 0; i < length; /*empty*/) {
            // Name should always be a string
            propName = args.getString(i++);
            Log.v(TAG, "setProperties: propName=" + propName);

            // Value could be boolean, integer or string
            propValue = args.get(i++);
            Log.v(TAG, "setProperties: propValue=" + propValue);

            // We don't currently expose trigger events so do not allow changes to trigger control mode
            if (propName.equals(BarcodeReader.PROPERTY_TRIGGER_CONTROL_MODE)) {
                Log.w(TAG, "PROPERTY_TRIGGER_CONTROL_MODE property ignored");
                continue;
            }

            // Add name,value pair into map
            properties.put(propName, propValue);
            Log.v(TAG, "setProperties: property added to map");
        }
    } catch (JSONException ex) {
        Log.e(TAG, "error occurred converting JSONArray to HashMap - " + ex.getMessage());
        callbackContext.error("invalid elements in argument array");
        return;
    }

    // Apply properties using map
    // BarcodeReader.setProperties() seems to ignore invalid property names
    barcodeReader.setProperties(properties);
    Log.v(TAG, "setProperties: barcode reader properties set");
    callbackContext.success();
    return;
}

From source file:ai.api.ApiAiPlugin.java

License:Apache License

@Override
public boolean execute(final String action, final JSONArray args, final CallbackContext callbackContext)
        throws JSONException {
    if (action.equals("init")) {

        final JSONObject argObject = args.getJSONObject(0);

        this.cordova.getActivity().runOnUiThread(new Runnable() {
            @Override/*from   w w  w . j a v a 2 s  .  c  om*/
            public void run() {
                init(argObject, callbackContext);
            }
        });

        return true;
    } else if (action.equals("requestText")) {
        JSONObject argObject = args.getJSONObject(0);

        if (argObject == null) {
            callbackContext.error("Arguments is empty");
            return true;
        }

        if (!argObject.has("query")) {
            callbackContext.error("Argument query must not be empty");
            return true;
        }

        final RequestExtras requestExtras = new RequestExtras();
        final String query = argObject.getString("query");

        fillContextsFromArg(argObject, requestExtras);
        fillEntitiesFromArg(argObject, requestExtras);

        if (argObject.has("resetContexts")) {
            requestExtras.setResetContexts(argObject.getBoolean("resetContexts"));
        }

        this.cordova.getThreadPool().execute(new Runnable() {
            public void run() {
                textRequest(query, requestExtras, callbackContext);
            }
        });

        return true;
    } else if (action.equals("requestVoice")) {

        JSONObject argObject = args.getJSONObject(0);

        if (argObject != null) {
            final RequestExtras requestExtras = new RequestExtras();

            fillContextsFromArg(argObject, requestExtras);
            fillEntitiesFromArg(argObject, requestExtras);

            if (argObject.has("resetContexts")) {
                requestExtras.setResetContexts(argObject.getBoolean("resetContexts"));
            }

            this.cordova.getThreadPool().execute(new Runnable() {
                public void run() {
                    requestVoice(requestExtras, callbackContext);
                }
            });
        } else {
            this.cordova.getThreadPool().execute(new Runnable() {
                public void run() {
                    requestVoice(null, callbackContext);
                }
            });
        }

        return true;
    } else if (action.equals("cancelAllRequests")) {
        this.cancelAllRequests(callbackContext);
        return true;
    } else if (action.equals("stopListening")) {
        this.stopListening(callbackContext);
        return true;
    } else if (action.equals("levelMeterCallback")) {
        setLevelMeterCallback(callbackContext);
        return true;
    } else if (action.equals("listeningStartCallback")) {
        setListeningStartCallback(callbackContext);
        return true;
    } else if (action.equals("listeningFinishCallback")) {
        setListeningFinishCallback(callbackContext);
        return true;
    } else if (action.equals("partialResultsCallback")) {
        setPartialResultsCallback(callbackContext);
        return true;
    } else if (action.equals("recognitionResultsCallback")) {
        setRecognitionResultsCallback(callbackContext);
        return true;
    }

    return false;
}

From source file:ai.api.ApiAiPlugin.java

License:Apache License

public void init(final JSONObject argObject, CallbackContext callbackContext) {
    try {//from  www. j  a  va  2 s.  c  o  m

        final String baseURL = argObject.optString("baseURL", "https://api.api.ai/v1/");
        final String clientAccessToken = argObject.getString("clientAccessToken");
        final String subscriptionKey = argObject.getString("subscriptionKey");
        final String language = argObject.optString("lang", "en");
        final boolean debugMode = argObject.optBoolean("debug", false);
        final String version = argObject.optString("version", "20150910");

        final AIConfiguration.SupportedLanguages lang = AIConfiguration.SupportedLanguages
                .fromLanguageTag(language);
        final AIConfiguration config = new AIConfiguration(clientAccessToken, subscriptionKey, lang,
                AIConfiguration.RecognitionEngine.System);

        if (!TextUtils.isEmpty(version)) {
            config.setProtocolVersion(version);
        }

        aiService = AIService.getService(this.cordova.getActivity().getApplicationContext(), config);
        aiService.setListener(this);

        if (aiService instanceof GoogleRecognitionServiceImpl) {
            ((GoogleRecognitionServiceImpl) aiService)
                    .setRecognitionResultsListener(new RecognitionResultsListener() {
                        @Override
                        public void onPartialResults(final List<String> partialResults) {
                            ApiAiPlugin.this.onPartialResults(partialResults);
                        }

                        @Override
                        public void onRecognitionResults(final List<String> recognitionResults) {
                            ApiAiPlugin.this.onRecognitionResults(recognitionResults);
                        }
                    });
        }

        callbackContext.success();
    } catch (Exception ex) {
        Log.e(TAG, "Init", ex);
        callbackContext.error(ex.toString());
    }
}

From source file:ai.api.ApiAiPlugin.java

License:Apache License

public void textRequest(final String query, final RequestExtras requestExtras,
        CallbackContext callbackContext) {
    try {//w w  w.  j a  v  a2 s .c o m
        final AIResponse response = aiService.textRequest(query, requestExtras);
        final String jsonResponse = gson.toJson(response);

        final JSONObject jsonObject = new JSONObject(jsonResponse);

        callbackContext.success(jsonObject);
    } catch (Exception ex) {
        Log.e(TAG, "textRequest", ex);
        callbackContext.error(ex.getMessage());
    }
}

From source file:ai.api.ApiAiPlugin.java

License:Apache License

public void requestVoice(final RequestExtras requestExtras, final CallbackContext callbackContext) {
    try {//from ww  w  .j a  va 2  s.  c  om
        currentCallbacks = callbackContext;

        maxLevel = 10.0f;
        minLevel = 0.0f;

        aiService.startListening(requestExtras);
    } catch (Exception ex) {
        Log.e(TAG, "requestVoice", ex);
        callbackContext.error(ex.toString());
        //callbackContext.error(ex.getMessage());
        if (callbackContext == currentCallbacks) {
            currentCallbacks = null;
        }
    }
}

From source file:ai.api.ApiAiPlugin.java

License:Apache License

public void stopListening(CallbackContext callbackContext) {
    try {//w ww  . j  a v a 2s . c om
        aiService.stopListening();
        callbackContext.success();
    } catch (Exception ex) {
        Log.e(TAG, "stopListening", ex);
        callbackContext.error(ex.getMessage());
    }
}

From source file:ai.api.ApiAiPlugin.java

License:Apache License

public void cancelAllRequests(CallbackContext callbackContext) {
    try {//from  w ww .  j  a v  a  2  s.c om
        aiService.cancel();
        callbackContext.success();
    } catch (Exception ex) {
        Log.e(TAG, "cancelAllRequests", ex);
        callbackContext.error(ex.getMessage());
    }
}

From source file:android.WeChat.java

License:Open Source License

private void share(JSONArray args, CallbackContext callbackContext) throws JSONException, NullPointerException {
    // check if installed
    if (!api.isWXAppInstalled()) {
        callbackContext.error(ERR_WECHAT_NOT_INSTALLED);
        return;// ww  w . jav a 2s  . c om
    }

    JSONObject params = args.getJSONObject(0);

    if (params == null) {
        callbackContext.error(ERR_INVALID_OPTIONS);
        return;
    }

    SendMessageToWX.Req request = new SendMessageToWX.Req();

    request.transaction = String.valueOf(System.currentTimeMillis());

    int paramScene = params.getInt("scene");

    switch (paramScene) {
    case SCENE_SESSION:
        request.scene = SendMessageToWX.Req.WXSceneSession;
        break;
    // wechat android sdk does not support chosen by user
    case SCENE_CHOSEN_BY_USER:
    case SCENE_TIMELINE:
    default:
        request.scene = SendMessageToWX.Req.WXSceneTimeline;
        break;
    }

    WXMediaMessage message = null;

    String text = null;
    JSONObject messageOptions = null;

    if (!params.isNull("text")) {
        text = params.getString("text");
    }

    if (!params.isNull("message")) {
        messageOptions = params.getJSONObject("message");
    }

    if (messageOptions != null) {
        String url = null;
        String data = null;

        if (!messageOptions.isNull("url")) {
            url = messageOptions.getString("url");
        }

        if (!messageOptions.isNull("data")) {
            data = messageOptions.getString("data");
        }

        int type = SHARE_TYPE_WEBPAGE;

        if (!messageOptions.isNull("type")) {
            type = messageOptions.getInt("type");
        }

        switch (type) {
        case SHARE_TYPE_APP:
            break;
        case SHARE_TYPE_EMOTION:
            break;
        case SHARE_TYPE_FILE:
            break;
        case SHARE_TYPE_IMAGE:
            WXImageObject imageObject = new WXImageObject();
            if (url != null) {
                imageObject.imageUrl = url;
            } else if (data != null) {
                imageObject.imageData = Base64.decode(data, Base64.DEFAULT);
            } else {
                callbackContext.error(ERR_INVALID_OPTIONS);
                return;
            }
            message = new WXMediaMessage(imageObject);
            break;
        case SHARE_TYPE_MUSIC:
            break;
        case SHARE_TYPE_VIDEO:
            break;
        case SHARE_TYPE_WEBPAGE:
        default:
            WXWebpageObject webpageObject = new WXWebpageObject();
            webpageObject.webpageUrl = url;
            message = new WXMediaMessage(webpageObject);
            break;
        }

        if (message == null) {
            callbackContext.error(ERR_UNSUPPORTED_MEDIA_TYPE);
            return;
        }

        if (!messageOptions.isNull("title")) {
            message.title = messageOptions.getString("title");
        }

        if (!messageOptions.isNull("description")) {
            message.description = messageOptions.getString("description");
        }

        if (!messageOptions.isNull("thumbData")) {
            String thumbData = messageOptions.getString("thumbData");
            message.thumbData = Base64.decode(thumbData, Base64.DEFAULT);
        }
    } else if (text != null) {
        WXTextObject textObject = new WXTextObject();
        textObject.text = text;

        message = new WXMediaMessage(textObject);
        message.description = text;
    } else {
        callbackContext.error(ERR_INVALID_OPTIONS);
        return;
    }

    request.message = message;

    try {
        boolean success = api.sendReq(request);
        if (!success) {
            callbackContext.error(ERR_UNKNOWN);
            return;
        }
    } catch (Exception e) {
        callbackContext.error(e.getMessage());
        return;
    }

    currentCallbackContext = callbackContext;
}

From source file:au.com.micropacific.cordova.CipherlabRS30Plugin.java

License:Open Source License

private void echo(String message, CallbackContext callbackContext) {
    if (message != null && message.length() > 0) {
        callbackContext.success(message);
    } else {/*w w  w  .j  av  a 2  s.c om*/
        callbackContext.error("Expected one non-empty string argument.");
    }
}