Skip to content

Commit bc92da5

Browse files
committed
Added configureWithOptions to android version
1 parent d242dd5 commit bc92da5

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

android/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ dependencies {
2121
compile 'com.facebook.react:react-native:0.20.+'
2222
compile 'com.google.firebase:firebase-core:9.4.0'
2323
compile 'com.google.firebase:firebase-auth:9.4.0'
24+
compile 'com.google.firebase:firebase-database:9.4.0'
2425
}

android/src/main/java/io/fullstack/firestack/FirestackModule.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
import com.facebook.react.bridge.ReactMethod;
1313
import com.facebook.react.bridge.Callback;
1414
import com.facebook.react.bridge.WritableMap;
15+
import com.facebook.react.bridge.ReadableMap;
1516
import com.facebook.react.modules.core.DeviceEventManagerModule;
1617
import com.facebook.react.bridge.ReactContext;
1718

1819
import com.google.android.gms.tasks.OnCompleteListener;
1920
import com.google.android.gms.tasks.OnFailureListener;
2021
import com.google.android.gms.tasks.Task;
22+
import com.google.firebase.FirebaseApp;
23+
import com.google.firebase.FirebaseOptions;
24+
2125
import com.google.firebase.auth.AuthCredential;
2226
import com.google.firebase.auth.AuthResult;
2327
import com.google.firebase.auth.FacebookAuthProvider;
@@ -42,6 +46,37 @@ public String getName() {
4246
return "Firestack";
4347
}
4448

49+
@ReactMethod
50+
public void configureWithOptions(ReadableMap params, final Callback onSuccess) {
51+
ReactContext mCtx = getReactApplicationContext();
52+
FirebaseOptions.Builder builder = new FirebaseOptions.Builder();
53+
54+
if (params.hasKey("apiKey")) {
55+
builder.setApiKey(params.getString("apiKey"));
56+
}
57+
if (params.hasKey("gcmSenderID")) {
58+
builder.setGcmSenderId(params.getString("gcmSenderID"));
59+
}
60+
if (params.hasKey("storageBucket")) {
61+
builder.setStorageBucket(params.getString("storageBucket"));
62+
}
63+
if (params.hasKey("databaseURL")) {
64+
builder.setDatabaseUrl(params.getString("databaseURL"));
65+
}
66+
if (params.hasKey("clientID")) {
67+
builder.setApplicationId(params.getString("clientID"));
68+
}
69+
70+
try {
71+
FirebaseApp app = FirebaseApp.initializeApp(mCtx, builder.build());
72+
}
73+
catch (Exception e){
74+
75+
}
76+
77+
onSuccess.invoke();
78+
}
79+
4580
@ReactMethod
4681
public void listenForAuth() {
4782
mAuthListener = new FirebaseAuth.AuthStateListener() {

lib/firestack.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ export class Firestack {
3636
configure(opts) {
3737
opts = opts || {};
3838
const firestackOptions = Object.assign({}, this.options, opts);
39-
this.appInstance = app.initializeApp(firestackOptions);
39+
try {
40+
this.appInstance = app.initializeApp(firestackOptions);
41+
} catch (e) {}
4042

4143
return promisify('configureWithOptions')(firestackOptions)
4244
.then((...args) => {

0 commit comments

Comments
 (0)