List of usage examples for org.apache.cordova CallbackContext error
public void error(int message)
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."); } }