List of usage examples for com.facebook.react.bridge ReadableType Map
ReadableType Map
To view the source code for com.facebook.react.bridge ReadableType Map.
Click Source Link
From source file:com.reactlibrary.SGScanditPicker.java
License:Apache License
@Override public void receiveCommand(BarcodePicker view, int commandType, @Nullable final ReadableArray args) { int argCount = args == null ? 0 : args.size(); final WritableMap promiseResponse = Arguments.createMap(); if (argCount > 0) { if (args.getType(args.size() - 1) == ReadableType.Map) { ReadableMap map = args.getMap(args.size() - 1); if (map.hasKey("commandid")) { int commandid = map.getInt("commandid"); promiseResponse.putInt("commandid", commandid); argCount--;/* w ww . j ava 2 s. c o m*/ } } } switch (commandType) { case COMMAND_STOP_SCANNING: { picker.stopScanning(); return; } case COMMAND_START_SCANNING: { picker.startScanning(false, new Runnable() { @Override public void run() { new PromiseSender(promiseResponse) { @Override public Object getResponse() { return "Scan started"; } }; } }); return; } case COMMAND_START_SCANNING_IN_PAUSED_STATE: { picker.startScanning(true); return; } case COMMAND_PAUSE_SCANNING: { picker.pauseScanning(); return; } case COMMAND_SET_SETTINGS: { if (argCount > 0) { ReadableMap map = args.getMap(0); setSettings(null, map); new PromiseSender(promiseResponse) { @Override public Object getResponse() { return ScanditBarcodeHelpers.scanSettingsToWritableMap(scanSettings); } }; } else { final int c = argCount; new PromiseSender(promiseResponse) { @Override public Object getResponse() { promiseFailed = true; return "Cannot set null settings" + c; } }; } return; } case COMMAND_GET_SETTINGS: { new PromiseSender(promiseResponse) { @Override public Object getResponse() { return ScanditBarcodeHelpers.scanSettingsToWritableMap(scanSettings); } }; emitSettings(); return; } default: throw new IllegalArgumentException(String.format(Locale.ENGLISH, "Unsupported command %d received by %s.", commandType, getClass().getSimpleName())); } }