mirror of
https://github.com/status-im/react-native-firebase.git
synced 2026-09-01 14:41:07 +00:00
android: fixed once and on error handling
This commit is contained in:
@@ -4,7 +4,6 @@ import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
import android.util.Log;
|
||||
import android.content.Context;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.facebook.react.bridge.Callback;
|
||||
@@ -31,6 +30,7 @@ interface KeySetterFn {
|
||||
public class RNFirebaseModule extends ReactContextBaseJavaModule implements LifecycleEventListener {
|
||||
private static final String TAG = "RNFirebase";
|
||||
private FirebaseApp app;
|
||||
private ReactApplicationContext reactContext;
|
||||
|
||||
public RNFirebaseModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
@@ -146,7 +146,7 @@ public class RNFirebaseModule extends ReactContextBaseJavaModule implements Life
|
||||
try {
|
||||
Log.i(TAG, "Configuring app");
|
||||
if (app == null) {
|
||||
app = FirebaseApp.initializeApp(getReactApplicationContext().getBaseContext(), builder.build());
|
||||
app = FirebaseApp.initializeApp(reactContext, builder.build());
|
||||
}
|
||||
Log.i(TAG, "Configured");
|
||||
|
||||
|
||||
@@ -191,7 +191,7 @@ public class RNFirebaseDatabase extends ReactContextBaseJavaModule {
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
public void onOnce(final String path,
|
||||
public void once(final String path,
|
||||
final String modifiersString,
|
||||
final ReadableArray modifiersArray,
|
||||
final String eventName,
|
||||
|
||||
+12
-14
@@ -112,9 +112,11 @@ public class RNFirebaseDatabaseReference {
|
||||
@Override
|
||||
public void onCancelled(DatabaseError error) {
|
||||
WritableMap err = Arguments.createMap();
|
||||
err.putInt("errorCode", error.getCode());
|
||||
err.putString("errorDetails", error.getDetails());
|
||||
err.putString("description", error.getMessage());
|
||||
err.putString("path", mPath);
|
||||
err.putInt("code", error.getCode());
|
||||
err.putString("modifiers", mModifiersString);
|
||||
err.putString("details", error.getDetails());
|
||||
err.putString("message", error.getMessage());
|
||||
callback.invoke(err);
|
||||
}
|
||||
};
|
||||
@@ -168,19 +170,15 @@ public class RNFirebaseDatabaseReference {
|
||||
}
|
||||
|
||||
private void handleDatabaseError(final DatabaseError error) {
|
||||
WritableMap err = Arguments.createMap();
|
||||
err.putString("eventName", "database_error");
|
||||
err.putString("path", mPath);
|
||||
err.putString("modifiersString", mModifiersString);
|
||||
err.putInt("errorCode", error.getCode());
|
||||
err.putString("errorDetails", error.getDetails());
|
||||
err.putString("msg", error.getMessage());
|
||||
WritableMap errMap = Arguments.createMap();
|
||||
|
||||
WritableMap evt = Arguments.createMap();
|
||||
evt.putString("eventName", "database_error");
|
||||
evt.putMap("body", err);
|
||||
errMap.putString("path", mPath);
|
||||
errMap.putInt("code", error.getCode());
|
||||
errMap.putString("modifiers", mModifiersString);
|
||||
errMap.putString("details", error.getDetails());
|
||||
errMap.putString("message", error.getMessage());
|
||||
|
||||
Utils.sendEvent(mReactContext, "database_error", evt);
|
||||
Utils.sendEvent(mReactContext, "database_error", errMap);
|
||||
}
|
||||
|
||||
private Query buildDatabaseQueryAtPathAndModifiers(final FirebaseDatabase firebaseDatabase,
|
||||
|
||||
Reference in New Issue
Block a user