Skip to content

Commit 9f3ae58

Browse files
committed
Updated rnpm linking with context
1 parent 838c510 commit 9f3ae58

File tree

4 files changed

+42
-17
lines changed

4 files changed

+42
-17
lines changed

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

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
6666
WritableMap msgMap = Arguments.createMap();
6767
msgMap.putString("eventName", "listenForAuth");
6868

69-
FirebaseUser user = firebaseAuth.getCurrentUser();
7069
if (user != null) {
7170
WritableMap userMap = getUserMap();
7271

@@ -80,6 +79,21 @@ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
8079
}
8180
}
8281
};
82+
83+
mAuth = FirebaseAuth.getInstance();
84+
mAuth.addAuthStateListener(mAuthListener);
85+
}
86+
87+
@ReactMethod
88+
public void unlistenForAuth(final Callback callback) {
89+
if (mAuthListener != null) {
90+
mAuth.removeAuthStateListener(mAuthListener);
91+
92+
WritableMap resp = Arguments.createMap();
93+
resp.putString("status", "complete");
94+
95+
callback.invoke(null, resp);
96+
}
8397
}
8498

8599
@ReactMethod
@@ -105,17 +119,17 @@ public void signInWithEmail(final String email, final String password, final Cal
105119
mAuth = FirebaseAuth.getInstance();
106120

107121
mAuth.signInWithEmailAndPassword(email, password)
108-
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
109-
@Override
110-
public void onComplete(@NonNull Task<AuthResult> task) {
111-
if (task.isSuccessful()) {
112-
user = task.getResult().getUser();
113-
userCallback(user, callback);
114-
} else {
115-
userErrorCallback(task, callback);
116-
}
117-
}
118-
});
122+
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
123+
@Override
124+
public void onComplete(@NonNull Task<AuthResult> task) {
125+
if (task.isSuccessful()) {
126+
user = task.getResult().getUser();
127+
userCallback(user, callback);
128+
} else {
129+
userErrorCallback(task, callback);
130+
}
131+
}
132+
});
119133
}
120134

121135
@ReactMethod
@@ -416,6 +430,8 @@ public void userErrorCallback(Task task, final Callback onFail) {
416430
private WritableMap getUserMap() {
417431
WritableMap userMap = Arguments.createMap();
418432

433+
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
434+
419435
userMap.putString("email", user.getEmail());
420436
userMap.putString("uid", user.getUid());
421437
userMap.putString("provider", user.getProviderId());

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ class FirestackModule extends ReactContextBaseJavaModule implements LifecycleEve
2828
private ReactContext mReactContext;
2929
private FirebaseApp app;
3030

31-
public FirestackModule(ReactApplicationContext reactContext) {
31+
public FirestackModule(ReactApplicationContext reactContext, Context context) {
3232
super(reactContext);
33-
this.context = reactContext;
33+
this.context = context;
3434
mReactContext = reactContext;
3535

3636
Log.d(TAG, "New instance");
@@ -86,7 +86,7 @@ public void configureWithOptions(ReadableMap params, @Nullable final Callback on
8686
try {
8787
Log.i(TAG, "Configuring app");
8888
if (app == null) {
89-
app = FirebaseApp.initializeApp(mReactContext, builder.build());
89+
app = FirebaseApp.initializeApp(this.context, builder.build());
9090
}
9191
Log.i(TAG, "Configured");
9292

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.fullstack.firestack;
22

3+
import android.content.Context;
4+
35
import com.facebook.react.ReactPackage;
46
import com.facebook.react.bridge.JavaScriptModule;
57
import com.facebook.react.bridge.NativeModule;
@@ -11,6 +13,11 @@
1113
import java.util.List;
1214

1315
public class FirestackPackage implements ReactPackage {
16+
private Context mContext;
17+
18+
public FirestackPackage(Context ctx) {
19+
mContext = ctx;
20+
}
1421
/**
1522
* @param reactContext react application context that can be used to create modules
1623
* @return list of native modules to register with the newly created catalyst instance
@@ -19,7 +26,7 @@ public class FirestackPackage implements ReactPackage {
1926
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
2027
List<NativeModule> modules = new ArrayList<>();
2128

22-
modules.add(new FirestackModule(reactContext));
29+
modules.add(new FirestackModule(reactContext, mContext));
2330
modules.add(new FirestackAuthModule(reactContext));
2431
modules.add(new FirestackDatabaseModule(reactContext));
2532
modules.add(new FirestackAnalyticsModule(reactContext));

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
"ios": {
3535
"project": "ios/Firestack.xcodeproj"
3636
},
37-
"android": {}
37+
"android": {
38+
"packageInstance": "new FirestackPackage(getApplicationContext())"
39+
}
3840
},
3941
"devDependencies": {
4042
"babel-jest": "^14.1.0",

0 commit comments

Comments
 (0)