return String.valueOf(map.getBoolean(key)); case String: return map.getString(key); case Null: return null;
return String.valueOf(map.getBoolean(key)); case String: return map.getString(key); case Null: return null;
return map.getBoolean(key); case String: { String value = map.getString(key); if ("true".equalsIgnoreCase(value)) { return true;
return map.getBoolean(key); case String: { String value = map.getString(key); if ("true".equalsIgnoreCase(value)) { return true;
break; case String: value = map.getString(key); break; case Map:
break; case String: value = map.getString(key); break; case Map:
protected ShareFile getFileShare(ReadableMap options) { if (ShareIntent.hasValidKey("type", options)) { return new ShareFile(options.getString("url"), options.getString("type"), this.reactContext); } else { return new ShareFile(options.getString("url"), this.reactContext); } } protected ShareFiles getFileShares(ReadableMap options) {
@ReactMethod public void shareSingle(ReadableMap options, @Nullable Callback failureCallback, @Nullable Callback successCallback) { System.out.println("SHARE SINGLE METHOD"); if (ShareIntent.hasValidKey("social", options) ) { try{ ShareIntent shareClass = SHARES.getShareClass(options.getString("social"), this.reactContext); if (shareClass != null && shareClass instanceof ShareIntent) { shareClass.open(options); successCallback.invoke("OK"); } else { throw new ActivityNotFoundException("Invalid share activity"); } }catch(ActivityNotFoundException ex) { System.out.println("ERROR"); System.out.println(ex.getMessage()); failureCallback.invoke(ex.getMessage()); }catch (Exception e) { System.out.println("ERROR"); System.out.println(e.getMessage()); failureCallback.invoke(e.getMessage()); } } else { failureCallback.invoke("key 'social' missing in options"); } }
protected ShareFiles getFileShares(ReadableMap options) { if (ShareIntent.hasValidKey("type", options)) { return new ShareFiles(options.getArray("urls"), options.getString("type"), this.reactContext); } else { return new ShareFiles(options.getArray("urls"), this.reactContext); } } protected static String urlEncode(String param) {
public void open(ReadableMap options) throws ActivityNotFoundException { System.out.println(getPackage()); // check if package is installed if(getPackage() != null || getDefaultWebLink() != null || getPlayStoreLink() != null) { if(this.isPackageInstalled(getPackage(), reactContext)) { System.out.println("INSTALLED"); this.getIntent().setPackage(getPackage()); super.open(options); } else { System.out.println("NOT INSTALLED"); String url = ""; if(getDefaultWebLink() != null) { url = getDefaultWebLink() .replace("{url}", this.urlEncode( options.getString("url") ) ) .replace("{message}", this.urlEncode( options.getString("message") )); } else if(getPlayStoreLink() != null) { url = getPlayStoreLink(); } else { // TODO } // open web intent this.setIntent(new Intent(new Intent("android.intent.action.VIEW", Uri.parse(url)))); } } // configure default super.open(options); } protected void openIntentChooser() throws ActivityNotFoundException {
this.getIntent().putExtra(Intent.EXTRA_SUBJECT, options.getString("subject")); this.chooserTitle = options.getString("title"); message = options.getString("message"); this.getIntent().putExtra(Intent.EXTRA_TEXT, message + " " + options.getString("url")); } else { this.getIntent().putExtra(Intent.EXTRA_TEXT, options.getString("url"));
@ReactProp(name = "layers") public void setLayers(MapView view, @Nullable ReadableArray layers) { Log.v(REACT_CLASS, "set layers"); if (layers == null || layers.size() < 1) { Log.v(REACT_CLASS, "set layers: adding default layer"); mapView.addLayer(new ArcGISTiledMapServiceLayer(DEFAULT_LAYER)); } else { mapView.removeAll(); for (int i = 0; i < layers.size(); i++) { ReadableMap layer = layers.getMap(i); String type = layer.getString("type"); String url = layer.getString("url"); if (!url.equals("")) { if (type.equals("ArcGISTiledMapServiceLayer")) { Log.v(REACT_CLASS, "set layers: adding ArcGISTiledMapServiceLayer:" + url); mapView.addLayer(new ArcGISTiledMapServiceLayer(url)); } else if (type.equals("ArcGISFeatureLayer")) { Log.v(REACT_CLASS, "set layers: adding ArcGISFeatureLayer:" + url); mapView.addLayer(new ArcGISFeatureLayer(url, ArcGISFeatureLayer.MODE.SNAPSHOT)); } else { Log.v(REACT_CLASS, "set layers: unrecognized layer: " + type); } } else { Log.v(REACT_CLASS, "set layers: invalid url:" + url); } } } }
static private OAuthRequest addParametersToRequest( OAuthRequest request, final String access_token, @Nullable final ReadableMap params ) { if (params != null && params.hasKey("params")) { ReadableMapKeySetIterator iterator = params.keySetIterator(); while (iterator.hasNextKey()) { String key = iterator.nextKey(); ReadableType readableType = params.getType(key); switch(readableType) { case String: String val = params.getString(key); // String escapedVal = Uri.encode(val); if (val.equals("access_token")) { val = access_token; } request.addParameter(key, val); break; default: throw new IllegalArgumentException("Could not read object with key: " + key); } } } return request; }
break; case String: deconstructedMap.put(key, readableMap.getString(key)); break; case Map:
static HashMap<String, Object> toHashMap(ReadableMap map) { HashMap<String, Object> hashMap = new HashMap<>(); ReadableMapKeySetIterator iterator = map.keySetIterator(); while (iterator.hasNextKey()) { String key = iterator.nextKey(); switch (map.getType(key)) { case Null: hashMap.put(key, null); break; case Boolean: hashMap.put(key, map.getBoolean(key)); break; case Number: hashMap.put(key, map.getDouble(key)); break; case String: hashMap.put(key, map.getString(key)); break; case Map: hashMap.put(key,toHashMap(map.getMap(key))); break; case Array: hashMap.put(key, toArrayList(map.getArray(key))); break; default: throw new IllegalArgumentException("Could not convert object with key: " + key + "."); } } return hashMap; }
/** * Convert a JavaScript stack trace (see {@code parseErrorStack} JS module) to an array of * {@link StackFrame}s. */ public static StackFrame[] convertJsStackTrace(@Nullable ReadableArray stack) { int size = stack != null ? stack.size() : 0; StackFrame[] result = new StackFrame[size]; for (int i = 0; i < size; i++) { ReadableMap frame = stack.getMap(i); String methodName = frame.getString("methodName"); String fileName = frame.getString("file"); int lineNumber = -1; if (frame.hasKey(LINE_NUMBER_KEY) && !frame.isNull(LINE_NUMBER_KEY)) { lineNumber = frame.getInt(LINE_NUMBER_KEY); } int columnNumber = -1; if (frame.hasKey(COLUMN_KEY) && !frame.isNull(COLUMN_KEY)) { columnNumber = frame.getInt(COLUMN_KEY); } result[i] = new StackFrameImpl(fileName, methodName, lineNumber, columnNumber); } return result; }
httpMethod = params.getString("method"); } else { httpMethod = "GET";
.title(options.hasKey("title") ? options.getString("title") : "") .adapter(simpleListAdapter, null) .autoDismiss(true);