List of usage examples for com.facebook.react.bridge ReadableArray getArray
@Nullable
ReadableArray getArray(int index);
From source file:co.rewen.statex.StateXModule.java
License:Open Source License
/** * Inserts multiple (key, value) pairs. If one or more of the pairs cannot be inserted, this will * return StateXFailure, but all other pairs will have been inserted. * The insertion will replace conflicting (key, value) pairs. *///from www. j a va 2s. c om @ReactMethod public void multiSet(final ReadableArray keyValueArray, final Callback callback) { if (keyValueArray.size() == 0) { callback.invoke(AsyncStorageErrorUtil.getInvalidKeyError(null)); return; } new GuardedAsyncTask<Void, Void>(getReactApplicationContext()) { @Override protected void doInBackgroundGuarded(Void... params) { if (!ensureDatabase()) { callback.invoke(AsyncStorageErrorUtil.getDBError(null)); return; } String sql = "INSERT OR REPLACE INTO " + TABLE_STATE + " VALUES (?, ?);"; SQLiteStatement statement = mStateXDatabaseSupplier.get().compileStatement(sql); WritableMap error = null; ArrayList<String> keys = new ArrayList<>(); try { mStateXDatabaseSupplier.get().beginTransaction(); for (int idx = 0; idx < keyValueArray.size(); idx++) { if (keyValueArray.getArray(idx).size() != 2) { error = AsyncStorageErrorUtil.getInvalidValueError(null); break; } String key = keyValueArray.getArray(idx).getString(0); if (key == null) { error = AsyncStorageErrorUtil.getInvalidKeyError(null); break; } String value = keyValueArray.getArray(idx).getString(1); if (value == null) { error = AsyncStorageErrorUtil.getInvalidValueError(null); break; } keys.add(key); statement.clearBindings(); statement.bindString(1, key); statement.bindString(2, value); statement.execute(); } mStateXDatabaseSupplier.get().setTransactionSuccessful(); } catch (Exception e) { FLog.w(ReactConstants.TAG, e.getMessage(), e); error = AsyncStorageErrorUtil.getError(null, e.getMessage()); } finally { try { mStateXDatabaseSupplier.get().endTransaction(); } catch (Exception e) { FLog.w(ReactConstants.TAG, e.getMessage(), e); if (error == null) { error = AsyncStorageErrorUtil.getError(null, e.getMessage()); } } } if (error != null) { callback.invoke(error); } else { callback.invoke(); notifyStateChanged(keys); } } }.execute(); }
From source file:co.rewen.statex.StateXModule.java
License:Open Source License
/** * Given an array of (key, value) pairs, this will merge the given values with the stored values * of the given keys, if they exist.//from www.j av a2 s. c o m */ @ReactMethod public void multiMerge(final ReadableArray keyValueArray, final Callback callback) { new GuardedAsyncTask<Void, Void>(getReactApplicationContext()) { @Override protected void doInBackgroundGuarded(Void... params) { if (!ensureDatabase()) { callback.invoke(AsyncStorageErrorUtil.getDBError(null)); return; } WritableMap error = null; ArrayList<String> keys = new ArrayList<>(); try { mStateXDatabaseSupplier.get().beginTransaction(); for (int idx = 0; idx < keyValueArray.size(); idx++) { if (keyValueArray.getArray(idx).size() != 2) { error = AsyncStorageErrorUtil.getInvalidValueError(null); return; } String key = keyValueArray.getArray(idx).getString(0); if (key == null) { error = AsyncStorageErrorUtil.getInvalidKeyError(null); return; } else { keys.add(key); } if (keyValueArray.getArray(idx).getString(1) == null) { error = AsyncStorageErrorUtil.getInvalidValueError(null); return; } if (!AsyncLocalStorageUtil.mergeImpl(mStateXDatabaseSupplier.get(), key, keyValueArray.getArray(idx).getString(1))) { error = AsyncStorageErrorUtil.getDBError(null); return; } } mStateXDatabaseSupplier.get().setTransactionSuccessful(); } catch (Exception e) { FLog.w(ReactConstants.TAG, e.getMessage(), e); error = AsyncStorageErrorUtil.getError(null, e.getMessage()); } finally { try { mStateXDatabaseSupplier.get().endTransaction(); } catch (Exception e) { FLog.w(ReactConstants.TAG, e.getMessage(), e); if (error == null) { error = AsyncStorageErrorUtil.getError(null, e.getMessage()); } } } if (error != null) { callback.invoke(error); } else { callback.invoke(); notifyStateChanged(keys); } } }.execute(); }
From source file:com.adjust.nativemodule.AdjustUtil.java
License:Open Source License
/** * toList converts a {@link ReadableArray} into an ArrayList. * //from ww w.j av a 2 s. c o m * @param readableArray The ReadableArray to be conveted. * @return An ArrayList containing the data that was in the ReadableArray. */ public static List<Object> toList(@Nullable ReadableArray readableArray) { if (readableArray == null) { return null; } List<Object> result = new ArrayList<>(readableArray.size()); for (int index = 0; index < readableArray.size(); index++) { ReadableType readableType = readableArray.getType(index); switch (readableType) { case Null: break; case Boolean: result.add(readableArray.getBoolean(index)); break; case Number: // Can be int or double. double tmp = readableArray.getDouble(index); if (tmp == (int) tmp) { result.add((int) tmp); } else { result.add(tmp); } break; case String: result.add(readableArray.getString(index)); break; case Map: result.add(toMap(readableArray.getMap(index))); break; case Array: result = toList(readableArray.getArray(index)); break; default: AdjustFactory.getLogger().error("Could not convert object with index: " + index + "."); } } return result; }
From source file:com.amazonaws.reactnative.core.AWSRNClientMarshaller.java
License:Open Source License
/** * toList converts a {@link ReadableArray} into an ArrayList. * * @param readableArray The ReadableArray to be conveted. * @return An ArrayList containing the data that was in the ReadableArray. */// w w w .j a v a2 s . c om public static List<Object> readableArrayToList(final @Nullable ReadableArray readableArray) { if (readableArray == null) { return null; } List<Object> result = new ArrayList<>(readableArray.size()); for (int index = 0; index < readableArray.size(); index++) { final ReadableType readableType = readableArray.getType(index); switch (readableType) { case Null: result.add(String.valueOf(index)); break; case Boolean: result.add(readableArray.getBoolean(index)); break; case Number: // Can be int or double. double tmp = readableArray.getDouble(index); if (tmp == (int) tmp) { result.add((int) tmp); } else { result.add(tmp); } break; case String: result.add(readableArray.getString(index)); break; case Map: result.add(readableMapToMap(readableArray.getMap(index))); break; case Array: result = readableArrayToList(readableArray.getArray(index)); break; default: throw new IllegalArgumentException("Could not convert object with index: " + index + "."); } } return result; }
From source file:com.boundlessgeo.spatialconnect.jsbridge.RNSpatialConnect.java
License:Apache License
private ArrayList<Object> convertArrayToArrayList(ReadableArray readableArray) { ArrayList<Object> jsonArray = new ArrayList<>(); for (int i = 0; i < readableArray.size(); i++) { switch (readableArray.getType(i)) { case Null: break; case Boolean: jsonArray.add(readableArray.getBoolean(i)); break; case Number: jsonArray.add(readableArray.getDouble(i)); break; case String: jsonArray.add(readableArray.getString(i)); break; case Map: jsonArray.add(convertMapToHashMap(readableArray.getMap(i))); break; case Array: jsonArray.add(convertArrayToArrayList(readableArray.getArray(i))); break; }/*from w w w . j a va 2 s .c om*/ } return jsonArray; }
From source file:com.boundlessgeo.spatialconnect.jsbridge.SCBridge.java
License:Apache License
private static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException { JSONArray array = new JSONArray(); for (int i = 0; i < readableArray.size(); i++) { switch (readableArray.getType(i)) { case Null: break; case Boolean: array.put(readableArray.getBoolean(i)); break; case Number: array.put(readableArray.getDouble(i)); break; case String: array.put(readableArray.getString(i)); break; case Map: array.put(convertMapToJson(readableArray.getMap(i))); break; case Array: array.put(convertArrayToJson(readableArray.getArray(i))); break; }//from w ww .j a va 2 s. c o m } return array; }
From source file:com.ibatimesheet.RNJSONUtils.java
License:Apache License
public static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException { JSONArray array = new JSONArray(); for (int i = 0; i < readableArray.size(); i++) { switch (readableArray.getType(i)) { case Null: break; case Boolean: array.put(readableArray.getBoolean(i)); break; case Number: array.put(readableArray.getDouble(i)); break; case String: array.put(readableArray.getString(i)); break; case Map: array.put(convertMapToJson(readableArray.getMap(i))); break; case Array: array.put(convertArrayToJson(readableArray.getArray(i))); break; }/* w w w . j av a 2 s .c o m*/ } return array; }
From source file:com.microsoft.appcenter.reactnative.analytics.ReactNativeUtils.java
License:Open Source License
public static JSONArray convertReadableArrayToJsonArray(ReadableArray arr) throws JSONException { JSONArray jsonArr = new JSONArray(); for (int i = 0; i < arr.size(); i++) { ReadableType type = arr.getType(i); switch (type) { case Map: jsonArr.put(convertReadableMapToJsonObject(arr.getMap(i))); break; case Array: jsonArr.put(convertReadableArrayToJsonArray(arr.getArray(i))); break; case String: jsonArr.put(arr.getString(i)); break; case Number: Double number = arr.getDouble(i); if ((number == Math.floor(number)) && !Double.isInfinite(number)) { jsonArr.put(number.longValue()); } else { jsonArr.put(number.doubleValue()); }//from ww w. j a v a 2 s . c o m break; case Boolean: jsonArr.put(arr.getBoolean(i)); break; case Null: jsonArr.put(null); break; } } return jsonArr; }
From source file:com.transistorsoft.rnbackgroundgeolocation.RNBackgroundGeolocationModule.java
private static JSONArray arrayToJson(ReadableArray readableArray) throws JSONException { JSONArray jsonArray = new JSONArray(); for (int i = 0; i < readableArray.size(); i++) { ReadableType valueType = readableArray.getType(i); switch (valueType) { case Null: jsonArray.put(JSONObject.NULL); break; case Boolean: jsonArray.put(readableArray.getBoolean(i)); break; case Number: jsonArray.put(readableArray.getInt(i)); break; case String: jsonArray.put(readableArray.getString(i)); break; case Map: jsonArray.put(mapToJson(readableArray.getMap(i))); break; case Array: jsonArray.put(arrayToJson(readableArray.getArray(i))); break; }/* w ww . ja v a 2 s. c om*/ } return jsonArray; }
From source file:it.near.sdk.reactnative.rnnearitsdk.RNNearItUtils.java
License:Mozilla Public License
public static JSONArray toJSONArray(ReadableArray readableArray) throws JSONException { JSONArray jsonArray = new JSONArray(); for (int i = 0; i < readableArray.size(); i++) { ReadableType type = readableArray.getType(i); switch (type) { case Null: jsonArray.put(i, null);//from w ww . j av a2s . c o m break; case Boolean: jsonArray.put(i, readableArray.getBoolean(i)); break; case Number: jsonArray.put(i, readableArray.getDouble(i)); break; case String: jsonArray.put(i, readableArray.getString(i)); break; case Map: jsonArray.put(i, toJSONObject(readableArray.getMap(i))); break; case Array: jsonArray.put(i, toJSONArray(readableArray.getArray(i))); break; } } return jsonArray; }