/**
* Observes the authentication state for {@link com.google.firebase.auth.FirebaseAuth}
*
* @return {@link rx.Observable} of {@link com.google.firebase.auth.FirebaseUser}
*/
public Observable<FirebaseUser> observeAuthState() {
return Observable.create(new Observable.OnSubscribe<FirebaseUser>() {
@Override public void call(final Subscriber<? super FirebaseUser> subscriber) {
final AuthStateListener authStateListener = new AuthStateListener() {
@Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser == null) {
FirebaseAuthErrorFactory.createSignOutError(subscriber);
} else {
subscriber.onNext(firebaseUser);
}
}
};
firebaseAuth.addAuthStateListener(authStateListener);
subscriber.add(Subscriptions.create(new Action0() {
@Override public void call() {
firebaseAuth.removeAuthStateListener(authStateListener);
}
}));
}
});
}
RxFirebaseAuth.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:Attendance
作者:
评论列表
文章目录