Example usage for com.facebook.react.bridge Callback invoke

List of usage examples for com.facebook.react.bridge Callback invoke

Introduction

In this page you can find the example usage for com.facebook.react.bridge Callback invoke.

Prototype

public void invoke(Object... args);

Source Link

Document

Schedule javascript function execution represented by this Callback instance

Usage

From source file:by.iba.gomel.avkhonia.MFReactNativeBind.WLResourceRequestRN.java

License:Apache License

@ReactMethod
public void requestWithURL(String url, String method, final Callback errorCallback,
        final Callback successCallback) {
    try {//from w w w.  ja v a  2 s  .c om
        WLResourceRequest request = new WLResourceRequest(URI.create(url), method, DEFAULT_TIMEOUT);
        request.send(new WLResponseListener() {
            public void onSuccess(WLResponse response) {
                successCallback.invoke(response.getResponseText());
                Log.d("Success", response.getResponseText());
            }

            public void onFailure(WLFailResponse response) {
                errorCallback.invoke(response.getErrorMsg() + " - " + response.getErrorStatusCode());
                Log.d("Failure", response.getErrorMsg());
            }
        });
    } catch (IllegalViewOperationException e) {
        errorCallback.invoke(e.getMessage());
    }
}

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 ww  w . j  av  a 2  s.  c  o m*/
@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

/**
 * Removes all rows of the keys given.//from  w  w w  .  ja v a 2  s .c o  m
 */
@ReactMethod
public void multiRemove(final ReadableArray keys, final Callback callback) {
    if (keys.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;
            }

            WritableMap error = null;
            try {
                mStateXDatabaseSupplier.get().beginTransaction();
                for (int keyStart = 0; keyStart < keys.size(); keyStart += MAX_SQL_KEYS) {
                    int keyCount = Math.min(keys.size() - keyStart, MAX_SQL_KEYS);
                    mStateXDatabaseSupplier.get().delete(TABLE_STATE,
                            AsyncLocalStorageUtil.buildKeySelection(keyCount),
                            AsyncLocalStorageUtil.buildKeySelectionArgs(keys, keyStart, keyCount));
                }
                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(StateX.toStringArray(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  w  w  w  .  ja  v  a  2  s. co 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:co.rewen.statex.StateXModule.java

License:Open Source License

/**
 * Clears the database./*  w  w  w  .ja  v a2s . c om*/
 */
@ReactMethod
public void clear(final Callback callback) {
    new GuardedAsyncTask<Void, Void>(getReactApplicationContext()) {
        @Override
        protected void doInBackgroundGuarded(Void... params) {
            if (!mStateXDatabaseSupplier.ensureDatabase()) {
                callback.invoke(AsyncStorageErrorUtil.getDBError(null));
                return;
            }
            try {
                mStateXDatabaseSupplier.get().delete(TABLE_STATE, null, null);
                callback.invoke();
            } catch (Exception e) {
                FLog.w(ReactConstants.TAG, e.getMessage(), e);
                callback.invoke(AsyncStorageErrorUtil.getError(null, e.getMessage()));
            }
        }
    }.execute();
}

From source file:com.adjust.nativemodule.Adjust.java

License:Open Source License

@ReactMethod
public void isEnabled(Callback callback) {
    callback.invoke(com.adjust.sdk.Adjust.isEnabled());
}

From source file:com.adjust.nativemodule.Adjust.java

License:Open Source License

@ReactMethod
public void getIdfa(Callback callback) {
    callback.invoke("");
}

From source file:com.adjust.nativemodule.Adjust.java

License:Open Source License

@ReactMethod
public void getGoogleAdId(final Callback callback) {
    com.adjust.sdk.Adjust.getGoogleAdId(getReactApplicationContext(), new com.adjust.sdk.OnDeviceIdsRead() {
        @Override//  www. ja v  a  2 s .  c o  m
        public void onGoogleAdIdRead(String googleAdId) {
            callback.invoke(googleAdId);
        }
    });
}

From source file:com.adjust.nativemodule.Adjust.java

License:Open Source License

@ReactMethod
public void getAdid(Callback callback) {
    callback.invoke(com.adjust.sdk.Adjust.getAdid());
}

From source file:com.adjust.nativemodule.Adjust.java

License:Open Source License

@ReactMethod
public void getAttribution(Callback callback) {
    callback.invoke(AdjustUtil.attributionToMap(com.adjust.sdk.Adjust.getAttribution()));
}