正在查看: Namma Yatri v3.3.7 应用的 ReactNativeFirebaseAuthModule.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Namma Yatri v3.3.7 应用的 ReactNativeFirebaseAuthModule.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.invertase.firebase.auth;
import android.app.Activity;
import android.net.Uri;
import android.os.Parcel;
import android.util.Log;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableMapKeySetIterator;
import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.WritableMap;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.ActionCodeSettings;
import com.google.firebase.auth.AuthCredential;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.auth.MultiFactorInfo;
import com.google.firebase.auth.MultiFactorResolver;
import com.google.firebase.auth.MultiFactorSession;
import com.google.firebase.auth.PhoneAuthCredential;
import com.google.firebase.auth.PhoneAuthProvider;
import com.google.firebase.auth.PhoneMultiFactorInfo;
import com.google.firebase.auth.UserProfileChangeRequest;
import com.google.firebase.auth.z;
import com.microsoft.clarity.reactnative.ClarityEmitter;
import in.juspay.hyper.constants.LogSubCategory;
import in.juspay.hypersdk.core.PaymentConstants;
import io.invertase.firebase.app.ReactNativeFirebaseAppModule;
import io.invertase.firebase.auth.ReactNativeFirebaseAuthModule;
import io.invertase.firebase.common.ReactNativeFirebaseModule;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
class ReactNativeFirebaseAuthModule extends ReactNativeFirebaseModule {
private static final String TAG = "Auth";
private HashMap<String, AuthCredential> credentials;
private final HashMap<String, MultiFactorResolver> mCachedResolvers;
private PhoneAuthCredential mCredential;
private PhoneAuthProvider.ForceResendingToken mForceResendingToken;
private String mLastPhoneNumber;
private final HashMap<String, MultiFactorSession> mMultiFactorSessions;
private String mVerificationId;
public static final SimpleDateFormat ISO_8601_FORMATTER = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
private static HashMap<String, FirebaseAuth.a> mAuthListeners = new HashMap<>();
private static HashMap<String, FirebaseAuth.b> mIdTokenListeners = new HashMap<>();
private static HashMap<String, String> emulatorConfigs = new HashMap<>();
class a extends PhoneAuthProvider.a {
private boolean a = false;
final FirebaseAuth b;
final Promise c;
a(FirebaseAuth firebaseAuth, Promise promise) {
this.b = firebaseAuth;
this.c = promise;
}
public void b(PhoneAuthCredential phoneAuthCredential, Promise promise, Task task) {
if (!task.isSuccessful()) {
Exception exception = task.getException();
Log.e(ReactNativeFirebaseAuthModule.TAG, "signInWithPhoneNumber:autoVerified:signInWithCredential:onComplete:failure", exception);
if (this.a) {
return;
}
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$26(promise, exception);
return;
}
if (this.a) {
return;
}
WritableMap createMap = Arguments.createMap();
Parcel obtain = Parcel.obtain();
phoneAuthCredential.writeToParcel(obtain, 0);
obtain.setDataPosition(16);
String readString = obtain.readString();
ReactNativeFirebaseAuthModule.this.mVerificationId = readString;
obtain.recycle();
createMap.putString("verificationId", readString);
promise.resolve(createMap);
}
public void onCodeAutoRetrievalTimeOut(String str) {
super.onCodeAutoRetrievalTimeOut(str);
}
public void onCodeSent(String str, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
ReactNativeFirebaseAuthModule.this.mVerificationId = str;
ReactNativeFirebaseAuthModule.this.mForceResendingToken = forceResendingToken;
WritableMap createMap = Arguments.createMap();
createMap.putString("verificationId", str);
this.c.resolve(createMap);
this.a = true;
}
public void onVerificationCompleted(final PhoneAuthCredential phoneAuthCredential) {
Task D = this.b.D(phoneAuthCredential);
ExecutorService executor = ReactNativeFirebaseAuthModule.this.getExecutor();
final Promise promise = this.c;
D.addOnCompleteListener(executor, new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.a.this.b(phoneAuthCredential, promise, task);
}
});
}
public void onVerificationFailed(N8.m mVar) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$26(this.c, mVar);
}
}
class b extends PhoneAuthProvider.a {
final Promise a;
final String b;
b(Promise promise, String str) {
this.a = promise;
this.b = str;
}
public void onCodeSent(String str, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
this.a.resolve(str);
}
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
ReactNativeFirebaseAuthModule.this.resolveMultiFactorCredential(phoneAuthCredential, this.b, this.a);
}
public void onVerificationFailed(N8.m mVar) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$26(this.a, mVar);
}
}
class c extends PhoneAuthProvider.a {
final Promise a;
c(Promise promise) {
this.a = promise;
}
public void onCodeSent(String str, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
this.a.resolve(str);
}
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(this.a, "not-implemented", "This is currently not supported.");
}
public void onVerificationFailed(N8.m mVar) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$26(this.a, mVar);
}
}
class d extends PhoneAuthProvider.a {
final String a;
final String b;
d(String str, String str2) {
this.a = str;
this.b = str2;
}
public void onCodeAutoRetrievalTimeOut(String str) {
super.onCodeAutoRetrievalTimeOut(str);
WritableMap createMap = Arguments.createMap();
createMap.putString("verificationId", str);
ReactNativeFirebaseAuthModule.this.sendPhoneStateEvent(this.a, this.b, "onCodeAutoRetrievalTimeout", createMap);
}
public void onCodeSent(String str, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
ReactNativeFirebaseAuthModule.this.mForceResendingToken = forceResendingToken;
WritableMap createMap = Arguments.createMap();
createMap.putString("verificationId", str);
createMap.putString("verificationId", str);
ReactNativeFirebaseAuthModule.this.sendPhoneStateEvent(this.a, this.b, "onCodeSent", createMap);
}
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
ReactNativeFirebaseAuthModule.this.mCredential = phoneAuthCredential;
WritableMap createMap = Arguments.createMap();
Parcel obtain = Parcel.obtain();
phoneAuthCredential.writeToParcel(obtain, 0);
obtain.setDataPosition(16);
String readString = obtain.readString();
obtain.setDataPosition(obtain.dataPosition() + 8);
createMap.putString("code", obtain.readString());
createMap.putString("verificationId", readString);
obtain.recycle();
ReactNativeFirebaseAuthModule.this.sendPhoneStateEvent(this.a, this.b, "onVerificationComplete", createMap);
}
public void onVerificationFailed(N8.m mVar) {
WritableMap createMap = Arguments.createMap();
createMap.putMap("error", ReactNativeFirebaseAuthModule.this.getJSError(mVar));
ReactNativeFirebaseAuthModule.this.sendPhoneStateEvent(this.a, this.b, "onVerificationFailed", createMap);
}
}
ReactNativeFirebaseAuthModule(ReactApplicationContext reactApplicationContext) {
super(reactApplicationContext, TAG);
this.mCachedResolvers = new HashMap<>();
this.mMultiFactorSessions = new HashMap<>();
this.credentials = new HashMap<>();
}
private ActionCodeSettings buildActionCodeSettings(ReadableMap readableMap) {
ActionCodeSettings.a t0 = ActionCodeSettings.t0();
String string = readableMap.getString(PaymentConstants.URL);
Objects.requireNonNull(string);
ActionCodeSettings.a g = t0.g(string);
if (readableMap.hasKey("handleCodeInApp")) {
g = g.d(readableMap.getBoolean("handleCodeInApp"));
}
if (readableMap.hasKey("dynamicLinkDomain")) {
g = g.c(readableMap.getString("dynamicLinkDomain"));
}
if (readableMap.hasKey("linkDomain")) {
String string2 = readableMap.getString("linkDomain");
Objects.requireNonNull(string2);
g = g.f(string2);
}
if (readableMap.hasKey(LogSubCategory.LifeCycle.ANDROID)) {
ReadableMap map = readableMap.getMap(LogSubCategory.LifeCycle.ANDROID);
Objects.requireNonNull(map);
boolean z = map.hasKey("installApp") && map.getBoolean("installApp");
String string3 = map.hasKey("minimumVersion") ? map.getString("minimumVersion") : null;
String string4 = map.getString("packageName");
Objects.requireNonNull(string4);
g = g.b(string4, z, string3);
}
if (readableMap.hasKey("iOS")) {
String string5 = readableMap.getMap("iOS").getString("bundleId");
Objects.requireNonNull(string5);
g = g.e(string5);
}
return g.a();
}
private WritableArray convertProviderData(List<? extends com.google.firebase.auth.G> list, FirebaseUser firebaseUser) {
WritableArray createArray = Arguments.createArray();
Iterator it = new ArrayList(list).iterator();
while (it.hasNext()) {
com.google.firebase.auth.G g = (com.google.firebase.auth.G) it.next();
if (!"firebase".equals(g.k())) {
WritableMap createMap = Arguments.createMap();
createMap.putString("providerId", g.k());
createMap.putString("uid", g.c());
createMap.putString("displayName", g.A());
Uri K = g.K();
if (K == null || "".equals(K.toString())) {
createMap.putNull("photoURL");
} else {
createMap.putString("photoURL", K.toString());
}
String t = g.t();
if ("phone".equals(g.k()) && (g.t() == null || "".equals(g.t()))) {
createMap.putString("phoneNumber", firebaseUser.t());
} else if (t == null || "".equals(t)) {
createMap.putNull("phoneNumber");
} else {
createMap.putString("phoneNumber", t);
}
if ("password".equals(g.k()) && (g.d0() == null || "".equals(g.d0()))) {
createMap.putString("email", g.c());
} else if (g.d0() == null || "".equals(g.d0())) {
createMap.putNull("email");
} else {
createMap.putString("email", g.d0());
}
createArray.pushMap(createMap);
}
}
return createArray;
}
@ReactMethod
private void createUserWithEmailAndPassword(String str, String str2, String str3, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).j(str2, str3).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$createUserWithEmailAndPassword$4(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$createUserWithEmailAndPassword$5(promise, exc);
}
});
}
private WritableMap firebaseUserToMap(FirebaseUser firebaseUser) {
WritableMap createMap = Arguments.createMap();
String c2 = firebaseUser.c();
String d0 = firebaseUser.d0();
Uri K = firebaseUser.K();
String A = firebaseUser.A();
String k = firebaseUser.k();
boolean L = firebaseUser.L();
String t = firebaseUser.t();
String q0 = firebaseUser.q0();
createMap.putString("uid", c2);
createMap.putString("providerId", k);
createMap.putBoolean("emailVerified", L);
createMap.putBoolean("isAnonymous", firebaseUser.s0());
if (d0 == null || "".equals(d0)) {
createMap.putNull("email");
} else {
createMap.putString("email", d0);
}
if (A == null || "".equals(A)) {
createMap.putNull("displayName");
} else {
createMap.putString("displayName", A);
}
if (K == null || "".equals(K.toString())) {
createMap.putNull("photoURL");
} else {
createMap.putString("photoURL", K.toString());
}
if (t == null || "".equals(t)) {
createMap.putNull("phoneNumber");
} else {
createMap.putString("phoneNumber", t);
}
if (q0 == null || "".equals(q0)) {
createMap.putNull("tenantId");
} else {
createMap.putString("tenantId", q0);
}
createMap.putArray("providerData", convertProviderData(firebaseUser.p0(), firebaseUser));
WritableMap createMap2 = Arguments.createMap();
if (firebaseUser.n0() != null) {
createMap2.putDouble("creationTime", r2.w());
createMap2.putDouble("lastSignInTime", r2.B());
}
createMap.putMap("metadata", createMap2);
WritableArray createArray = Arguments.createArray();
Iterator it = firebaseUser.o0().b().iterator();
while (it.hasNext()) {
createArray.pushMap(multiFactorInfoToMap((MultiFactorInfo) it.next()));
}
WritableMap createMap3 = Arguments.createMap();
createMap3.putArray("enrolledFactors", createArray);
createMap.putMap("multiFactor", createMap3);
return createMap;
}
private AuthCredential getCredentialForProvider(String str, String str2, String str3) {
if (str.startsWith("oidc.")) {
return com.google.firebase.auth.z.f(str).b(str2).a();
}
if (this.credentials.containsKey(str2) && this.credentials.get(str2) != null) {
return this.credentials.get(str2);
}
switch (str) {
case "apple.com":
return com.google.firebase.auth.z.f(str).c(str2, str3).a();
case "twitter.com":
return com.google.firebase.auth.F.a(str2, str3);
case "google.com":
return com.google.firebase.auth.w.a(str2, str3);
case "facebook.com":
return com.google.firebase.auth.g.a(str2);
case "oauth":
return com.google.firebase.auth.z.d(str, str2, str3);
case "phone":
return getPhoneAuthCredential(str2, str3);
case "password":
return com.google.firebase.auth.f.a(str2, str3);
case "github.com":
return com.google.firebase.auth.v.a(str2);
case "emailLink":
return com.google.firebase.auth.f.b(str2, str3);
default:
return null;
}
}
public com.facebook.react.bridge.WritableMap getJSError(java.lang.Exception r13) {
throw new UnsupportedOperationException("Method not decompiled: io.invertase.firebase.auth.ReactNativeFirebaseAuthModule.getJSError(java.lang.Exception):com.facebook.react.bridge.WritableMap");
}
private PhoneAuthCredential getPhoneAuthCredential(String str, String str2) {
PhoneAuthCredential phoneAuthCredential;
if (str == null && (phoneAuthCredential = this.mCredential) != null) {
this.mCredential = null;
return phoneAuthCredential;
}
if (str != null) {
return PhoneAuthProvider.a(str, str2);
}
return null;
}
public void lambda$addAuthStateListener$0(String str, FirebaseAuth firebaseAuth) {
FirebaseUser m = firebaseAuth.m();
WritableMap createMap = Arguments.createMap();
Sc.g i = Sc.g.i();
if (m != null) {
createMap.putString("appName", str);
createMap.putMap(LogSubCategory.Action.USER, firebaseUserToMap(m));
} else {
createMap.putString("appName", str);
}
StringBuilder sb2 = new StringBuilder();
sb2.append("addAuthStateListener:eventBody ");
sb2.append(createMap.toString());
i.o(new Sc.b("auth_state_changed", createMap, str));
}
public void lambda$addIdTokenListener$1(String str, FirebaseAuth firebaseAuth) {
FirebaseUser m = firebaseAuth.m();
Sc.g i = Sc.g.i();
WritableMap createMap = Arguments.createMap();
if (m != null) {
createMap.putBoolean("authenticated", true);
createMap.putString("appName", str);
createMap.putMap(LogSubCategory.Action.USER, firebaseUserToMap(m));
} else {
createMap.putString("appName", str);
createMap.putBoolean("authenticated", false);
}
i.o(new Sc.b("auth_id_token_changed", createMap, str));
}
public void lambda$applyActionCode$32(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "applyActionCode:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$checkActionCode$33(Promise promise, Task task) {
if (!task.isSuccessful()) {
Exception exception = task.getException();
Log.e(TAG, "checkActionCode:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
return;
}
com.google.firebase.auth.d dVar = (com.google.firebase.auth.d) task.getResult();
Objects.requireNonNull(dVar);
com.google.firebase.auth.d dVar2 = dVar;
WritableMap createMap = Arguments.createMap();
WritableMap createMap2 = Arguments.createMap();
createMap2.putString("email", dVar2.a(0));
createMap2.putString("fromEmail", dVar2.a(1));
createMap.putMap("data", createMap2);
int b2 = dVar2.b();
createMap.putString("operation", b2 != 0 ? b2 != 1 ? b2 != 2 ? b2 != 3 ? b2 != 4 ? "UNKNOWN" : "EMAIL_SIGNIN" : "ERROR" : "RECOVER_EMAIL" : "VERIFY_EMAIL" : "PASSWORD_RESET");
promise.resolve(createMap);
}
public void lambda$confirmPasswordReset$31(Promise promise, Task task) {
if (task.isSuccessful()) {
promiseNoUser(promise, Boolean.FALSE);
return;
}
Exception exception = task.getException();
Log.e(TAG, "confirmPasswordReset:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$confirmationResultConfirm$30(Promise promise, Task task) {
if (task.isSuccessful()) {
AuthResult authResult = (AuthResult) task.getResult();
Objects.requireNonNull(authResult);
lambda$signInWithProvider$25(authResult, promise);
} else {
Exception exception = task.getException();
Log.e(TAG, "confirmationResultConfirm:signInWithCredential:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
}
public void lambda$createUserWithEmailAndPassword$5(Promise promise, Exception exc) {
Log.e(TAG, "createUserWithEmailAndPassword:onComplete:failure", exc);
lambda$signInWithProvider$26(promise, exc);
}
public void lambda$delete$14(Promise promise, Task task) {
if (task.isSuccessful()) {
promiseNoUser(promise, Boolean.FALSE);
return;
}
Exception exception = task.getException();
Log.e(TAG, "delete:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$fetchSignInMethodsForEmail$47(Promise promise, Task task) {
if (!task.isSuccessful()) {
lambda$signInWithProvider$26(promise, task.getException());
return;
}
com.google.firebase.auth.D d2 = (com.google.firebase.auth.D) task.getResult();
Objects.requireNonNull(d2);
List a2 = d2.a();
WritableArray createArray = Arguments.createArray();
if (a2 != null) {
Iterator it = a2.iterator();
while (it.hasNext()) {
createArray.pushString((String) it.next());
}
}
promise.resolve(createArray);
}
public void lambda$finalizeMultiFactorEnrollment$28(Promise promise, Task task) {
if (task.isSuccessful()) {
promise.resolve((Object) null);
return;
}
Exception exception = task.getException();
Log.e(TAG, "finalizeMultiFactorEnrollment:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$getIdToken$45(Promise promise, Task task) {
if (task.isSuccessful()) {
com.google.firebase.auth.u uVar = (com.google.firebase.auth.u) task.getResult();
Objects.requireNonNull(uVar);
promise.resolve(uVar.f());
} else {
Exception exception = task.getException();
Log.e(TAG, "getIdToken:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
}
public void lambda$getIdTokenResult$46(Promise promise, Task task) {
if (!task.isSuccessful()) {
Exception exception = task.getException();
Log.e(TAG, "getIdTokenResult:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
return;
}
com.google.firebase.auth.u uVar = (com.google.firebase.auth.u) task.getResult();
WritableMap createMap = Arguments.createMap();
Objects.requireNonNull(uVar);
Sc.m.g("authTime", Sc.m.i(uVar.a()), createMap);
Sc.m.g("expirationTime", Sc.m.i(uVar.c()), createMap);
Sc.m.g("issuedAtTime", Sc.m.i(uVar.d()), createMap);
Sc.m.g("claims", uVar.b(), createMap);
Sc.m.g("signInProvider", uVar.e(), createMap);
Sc.m.g("token", uVar.f(), createMap);
promise.resolve(createMap);
}
public void lambda$getSession$27(Promise promise, Task task) {
if (!task.isSuccessful()) {
ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(promise, task.getException());
return;
}
MultiFactorSession multiFactorSession = (MultiFactorSession) task.getResult();
String num = Integer.toString(multiFactorSession.hashCode());
this.mMultiFactorSessions.put(num, multiFactorSession);
promise.resolve(num);
}
public void lambda$linkWithCredential$34(Promise promise, Task task) {
com.google.firebase.auth.r rVar;
AuthCredential b2;
if (task.isSuccessful()) {
lambda$signInWithProvider$25((AuthResult) task.getResult(), promise);
return;
}
com.google.firebase.auth.r exception = task.getException();
if ((exception instanceof com.google.firebase.auth.r) && (b2 = (rVar = exception).b()) != null) {
promiseRejectLinkAuthException(promise, rVar, b2);
} else {
Log.e(TAG, "link:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
}
public void lambda$reauthenticateWithCredential$40(Promise promise, Task task) {
if (task.isSuccessful()) {
lambda$signInWithProvider$25((AuthResult) task.getResult(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "reauthenticate:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$reload$15(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "reload:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$resolveMultiFactorCredential$29(Promise promise, Task task) {
if (task.isSuccessful()) {
lambda$signInWithProvider$25((AuthResult) task.getResult(), promise);
} else {
lambda$signInWithProvider$26(promise, task.getException());
}
}
public void lambda$sendEmailVerification$16(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "sendEmailVerification:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$sendPasswordResetEmail$12(Promise promise, Task task) {
if (task.isSuccessful()) {
promiseNoUser(promise, Boolean.FALSE);
return;
}
Exception exception = task.getException();
Log.e(TAG, "sendPasswordResetEmail:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$sendSignInLinkToEmail$13(Promise promise, Task task) {
if (task.isSuccessful()) {
promiseNoUser(promise, Boolean.FALSE);
return;
}
Exception exception = task.getException();
Log.e(TAG, "sendSignInLinkToEmail:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$signInAnonymously$3(Promise promise, Exception exc) {
Log.e(TAG, "signInAnonymously:onComplete:failure", exc);
lambda$signInWithProvider$26(promise, exc);
}
public void lambda$signInWithCredential$22(Promise promise, Task task) {
if (task.isSuccessful()) {
lambda$signInWithProvider$25((AuthResult) task.getResult(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "signInWithCredential:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$signInWithCustomToken$11(Promise promise, Exception exc) {
Log.e(TAG, "signInWithCustomToken:onComplete:failure", exc);
lambda$signInWithProvider$26(promise, exc);
}
public void lambda$signInWithEmailAndPassword$7(Promise promise, Exception exc) {
Log.e(TAG, "signInWithEmailAndPassword:onComplete:failure", exc);
lambda$signInWithProvider$26(promise, exc);
}
public void lambda$signInWithEmailLink$9(Promise promise, Exception exc) {
Log.e(TAG, "signInWithEmailLink:onComplete:failure", exc);
lambda$signInWithProvider$26(promise, exc);
}
public void lambda$unlink$39(Promise promise, Task task) {
if (task.isSuccessful()) {
AuthResult authResult = (AuthResult) task.getResult();
Objects.requireNonNull(authResult);
promiseWithUser(authResult.i(), promise);
} else {
Exception exception = task.getException();
Log.e(TAG, "unlink:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
}
public void lambda$updateEmail$18(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "updateEmail:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$updatePassword$19(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "updatePassword:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$updatePhoneNumber$20(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "updatePhoneNumber:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$updateProfile$21(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "updateProfile:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$verifyBeforeUpdateEmail$17(FirebaseAuth firebaseAuth, Promise promise, Task task) {
if (task.isSuccessful()) {
promiseWithUser(firebaseAuth.m(), promise);
return;
}
Exception exception = task.getException();
Log.e(TAG, "verifyBeforeUpdateEmail:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
public void lambda$verifyPasswordResetCode$48(Promise promise, Task task) {
if (task.isSuccessful()) {
promise.resolve(task.getResult());
return;
}
Exception exception = task.getException();
Log.e(TAG, "verifyPasswordResetCode:onComplete:failure", exception);
lambda$signInWithProvider$26(promise, exception);
}
@ReactMethod
private void linkWithCredential(String str, String str2, String str3, String str4, final Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
AuthCredential credentialForProvider = getCredentialForProvider(str2, str3, str4);
if (credentialForProvider == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
return;
}
FirebaseUser m = firebaseAuth.m();
if (m != null) {
m.t0(credentialForProvider).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$linkWithCredential$34(promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.TRUE);
}
}
@ReactMethod
private void linkWithProvider(String str, ReadableMap readableMap, final Promise promise) {
ReadableMap map;
ReadableArray array;
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (readableMap.getString("providerId") == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
return;
}
FirebaseUser m = firebaseAuth.m();
if (m == null) {
promiseNoUser(promise, Boolean.TRUE);
return;
}
z.a e = com.google.firebase.auth.z.e(readableMap.getString("providerId"), firebaseAuth);
if (readableMap.hasKey("scopes") && (array = readableMap.getArray("scopes")) != null) {
ArrayList arrayList = new ArrayList();
for (int i = 0; i < array.size(); i++) {
arrayList.add(array.getString(i));
}
e.c(arrayList);
}
if (readableMap.hasKey("customParameters") && (map = readableMap.getMap("customParameters")) != null) {
ReadableMapKeySetIterator keySetIterator = map.keySetIterator();
while (keySetIterator.hasNextKey()) {
String nextKey = keySetIterator.nextKey();
e.a(nextKey, map.getString(nextKey));
}
}
Task q = firebaseAuth.q();
if (q != null) {
q.addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$linkWithProvider$35(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$linkWithProvider$36(promise, exc);
}
});
} else {
m.y0(getCurrentActivity(), e.b()).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$linkWithProvider$37(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$linkWithProvider$38(promise, exc);
}
});
}
}
private WritableMap multiFactorInfoToMap(MultiFactorInfo multiFactorInfo) {
WritableMap createMap = Arguments.createMap();
Date date = new Date(multiFactorInfo.e0() * 1000);
createMap.putString("displayName", multiFactorInfo.A());
createMap.putString("enrollmentTime", ISO_8601_FORMATTER.format(date));
createMap.putString("factorId", multiFactorInfo.k0());
createMap.putString("uid", multiFactorInfo.c());
if (multiFactorInfo.k0().equals("phone")) {
createMap.putString("phoneNumber", ((PhoneMultiFactorInfo) multiFactorInfo).t());
}
return createMap;
}
private void promiseNoUser(Promise promise, Boolean bool) {
if (bool.booleanValue()) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "no-current-user", "No user currently signed in.");
} else {
promise.resolve((Object) null);
}
}
public void lambda$signInWithProvider$26(Promise promise, Exception exc) {
WritableMap jSError = getJSError(exc);
String string = jSError.hasKey(ClarityEmitter.CLARITY_SESSION_ID_PARAMETER) ? jSError.getString(ClarityEmitter.CLARITY_SESSION_ID_PARAMETER) : null;
MultiFactorResolver multiFactorResolver = this.mCachedResolvers.get(string);
WritableMap createMap = Arguments.createMap();
if (multiFactorResolver != null) {
createMap = resolverToMap(string, multiFactorResolver);
}
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, jSError.getString("code"), jSError.getString("message"), (ReadableMap) createMap);
}
private void promiseRejectLinkAuthException(Promise promise, Exception exc, AuthCredential authCredential) {
WritableMap jSError = getJSError(exc);
String valueOf = String.valueOf(authCredential.hashCode());
WritableMap createMap = Arguments.createMap();
createMap.putString("providerId", authCredential.e0());
createMap.putString("token", valueOf);
createMap.putString("secret", (String) null);
this.credentials.put(valueOf, authCredential);
WritableMap createMap2 = Arguments.createMap();
createMap2.putString("code", jSError.getString("code"));
createMap2.putString("message", jSError.getString("message"));
createMap2.putMap("authCredential", createMap);
promise.reject(jSError.getString("code"), jSError.getString("message"), createMap2);
}
public void lambda$signInWithProvider$25(AuthResult authResult, Promise promise) {
if (authResult == null || authResult.i() == null) {
promiseNoUser(promise, Boolean.TRUE);
return;
}
WritableMap createMap = Arguments.createMap();
WritableMap firebaseUserToMap = firebaseUserToMap(authResult.i());
if (authResult.b0() != null) {
WritableMap createMap2 = Arguments.createMap();
createMap2.putBoolean("isNewUser", authResult.b0().J());
if (authResult.b0().c0() != null) {
Sc.m.g("profile", authResult.b0().c0(), createMap2);
}
if (authResult.b0().k() != null) {
createMap2.putString("providerId", authResult.b0().k());
}
if (authResult.b0().S() != null) {
createMap2.putString("username", authResult.b0().S());
}
createMap.putMap("additionalUserInfo", createMap2);
}
createMap.putMap(LogSubCategory.Action.USER, firebaseUserToMap);
promise.resolve(createMap);
}
private void promiseWithUser(FirebaseUser firebaseUser, Promise promise) {
if (firebaseUser != null) {
promise.resolve(firebaseUserToMap(firebaseUser));
} else {
promiseNoUser(promise, Boolean.TRUE);
}
}
@ReactMethod
private void reauthenticateWithCredential(String str, String str2, String str3, String str4, final Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
AuthCredential credentialForProvider = getCredentialForProvider(str2, str3, str4);
if (credentialForProvider == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
return;
}
FirebaseUser m = firebaseAuth.m();
if (m != null) {
m.u0(credentialForProvider).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$reauthenticateWithCredential$40(promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.TRUE);
}
}
@ReactMethod
private void reauthenticateWithProvider(String str, ReadableMap readableMap, final Promise promise) {
ReadableMap map;
ReadableArray array;
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (readableMap.getString("providerId") == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
return;
}
FirebaseUser m = firebaseAuth.m();
if (m == null) {
promiseNoUser(promise, Boolean.TRUE);
return;
}
z.a e = com.google.firebase.auth.z.e(readableMap.getString("providerId"), firebaseAuth);
if (readableMap.hasKey("scopes") && (array = readableMap.getArray("scopes")) != null) {
ArrayList arrayList = new ArrayList();
for (int i = 0; i < array.size(); i++) {
arrayList.add(array.getString(i));
}
e.c(arrayList);
}
if (readableMap.hasKey("customParameters") && (map = readableMap.getMap("customParameters")) != null) {
ReadableMapKeySetIterator keySetIterator = map.keySetIterator();
while (keySetIterator.hasNextKey()) {
String nextKey = keySetIterator.nextKey();
e.a(nextKey, map.getString(nextKey));
}
}
Task q = firebaseAuth.q();
if (q != null) {
q.addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$reauthenticateWithProvider$41(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$reauthenticateWithProvider$42(promise, exc);
}
});
} else {
m.z0(getCurrentActivity(), e.b()).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$reauthenticateWithProvider$43(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$reauthenticateWithProvider$44(promise, exc);
}
});
}
}
public void resolveMultiFactorCredential(PhoneAuthCredential phoneAuthCredential, String str, final Promise promise) {
com.google.firebase.auth.B a2 = com.google.firebase.auth.C.a(phoneAuthCredential);
MultiFactorResolver multiFactorResolver = this.mCachedResolvers.get(str);
if (multiFactorResolver == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-multi-factor-session", "No resolver for session found. Is the session id correct?");
} else {
multiFactorResolver.o0(a2).addOnCompleteListener(new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$resolveMultiFactorCredential$29(promise, task);
}
});
}
}
private WritableMap resolverToMap(String str, MultiFactorResolver multiFactorResolver) {
WritableMap createMap = Arguments.createMap();
WritableArray createArray = Arguments.createArray();
Iterator it = multiFactorResolver.k0().iterator();
while (it.hasNext()) {
createArray.pushMap(multiFactorInfoToMap((MultiFactorInfo) it.next()));
}
createMap.putArray("hints", createArray);
createMap.putString("session", str);
return createMap;
}
public void sendPhoneStateEvent(String str, String str2, String str3, WritableMap writableMap) {
WritableMap createMap = Arguments.createMap();
Sc.g i = Sc.g.i();
createMap.putString("appName", str);
createMap.putString("requestKey", str2);
createMap.putString("type", str3);
createMap.putMap("state", writableMap);
i.o(new Sc.b("phone_auth_state_changed", createMap, str));
}
@ReactMethod
private void signInAnonymously(String str, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).C().addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$signInAnonymously$2(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$signInAnonymously$3(promise, exc);
}
});
}
@ReactMethod
private void signInWithCredential(String str, String str2, String str3, String str4, final Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
AuthCredential credentialForProvider = getCredentialForProvider(str2, str3, str4);
if (credentialForProvider == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
} else {
firebaseAuth.D(credentialForProvider).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithCredential$22(promise, task);
}
});
}
}
@ReactMethod
private void signInWithCustomToken(String str, String str2, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).E(str2).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithCustomToken$10(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithCustomToken$11(promise, exc);
}
});
}
@ReactMethod
private void signInWithEmailAndPassword(String str, String str2, String str3, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).F(str2, str3).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithEmailAndPassword$6(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithEmailAndPassword$7(promise, exc);
}
});
}
@ReactMethod
private void signInWithEmailLink(String str, String str2, String str3, final Promise promise) {
try {
FirebaseAuth.getInstance(N8.g.p(str)).G(str2, str3).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithEmailLink$8(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithEmailLink$9(promise, exc);
}
});
} catch (Exception e) {
Log.e(TAG, "signInWithEmailLink:onComplete:totalfailure", e);
lambda$signInWithProvider$26(promise, e);
}
}
@ReactMethod
private void signInWithProvider(String str, ReadableMap readableMap, final Promise promise) {
ReadableMap map;
ReadableArray array;
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (readableMap.getString("providerId") == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
return;
}
z.a e = com.google.firebase.auth.z.e(readableMap.getString("providerId"), firebaseAuth);
if (readableMap.hasKey("scopes") && (array = readableMap.getArray("scopes")) != null) {
ArrayList arrayList = new ArrayList();
for (int i = 0; i < array.size(); i++) {
arrayList.add(array.getString(i));
}
e.c(arrayList);
}
if (readableMap.hasKey("customParameters") && (map = readableMap.getMap("customParameters")) != null) {
ReadableMapKeySetIterator keySetIterator = map.keySetIterator();
while (keySetIterator.hasNextKey()) {
String nextKey = keySetIterator.nextKey();
e.a(nextKey, map.getString(nextKey));
}
}
Task q = firebaseAuth.q();
if (q != null) {
q.addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$23(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$24(promise, exc);
}
});
} else {
firebaseAuth.I(getCurrentActivity(), e.b()).addOnSuccessListener(new OnSuccessListener() {
public final void onSuccess(Object obj) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$25(promise, (AuthResult) obj);
}
}).addOnFailureListener(new OnFailureListener() {
public final void onFailure(Exception exc) {
ReactNativeFirebaseAuthModule.this.lambda$signInWithProvider$26(promise, exc);
}
});
}
}
@ReactMethod
private void updatePhoneNumber(String str, String str2, String str3, String str4, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (!str2.equals("phone")) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential does not have a phone provider.");
}
PhoneAuthCredential phoneAuthCredential = getPhoneAuthCredential(str3, str4);
if (phoneAuthCredential == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-credential", "The supplied auth credential is malformed, has expired or is not currently supported.");
} else if (m != null) {
m.D0(phoneAuthCredential).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$updatePhoneNumber$20(firebaseAuth, promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "updatePhoneNumber:failure:noCurrentUser");
}
}
@ReactMethod
public void addAuthStateListener(final String str) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (mAuthListeners.get(str) == null) {
FirebaseAuth.a aVar = new FirebaseAuth.a() {
public final void a(FirebaseAuth firebaseAuth2) {
ReactNativeFirebaseAuthModule.this.lambda$addAuthStateListener$0(str, firebaseAuth2);
}
};
firebaseAuth.a(aVar);
mAuthListeners.put(str, aVar);
}
}
@ReactMethod
public void addIdTokenListener(final String str) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (mIdTokenListeners.containsKey(str)) {
return;
}
FirebaseAuth.b bVar = new FirebaseAuth.b() {
public final void a(FirebaseAuth firebaseAuth2) {
ReactNativeFirebaseAuthModule.this.lambda$addIdTokenListener$1(str, firebaseAuth2);
}
};
firebaseAuth.b(bVar);
mIdTokenListeners.put(str, bVar);
}
@ReactMethod
public void applyActionCode(String str, String str2, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
firebaseAuth.g(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$applyActionCode$32(firebaseAuth, promise, task);
}
});
}
@ReactMethod
public void checkActionCode(String str, String str2, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).h(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$checkActionCode$33(promise, task);
}
});
}
@ReactMethod
public void configureAuthDomain(String str) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
String str2 = ReactNativeFirebaseAppModule.authDomains.get(str);
StringBuilder sb2 = new StringBuilder();
sb2.append("configureAuthDomain - app ");
sb2.append(str);
sb2.append(" domain? ");
sb2.append(str2);
if (str2 != null) {
firebaseAuth.z(str2);
}
}
@ReactMethod
public void confirmPasswordReset(String str, String str2, String str3, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).i(str2, str3).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$confirmPasswordReset$31(promise, task);
}
});
}
@ReactMethod
public void confirmationResultConfirm(String str, String str2, final Promise promise) {
try {
FirebaseAuth.getInstance(N8.g.p(str)).D(PhoneAuthProvider.a(this.mVerificationId, str2)).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$confirmationResultConfirm$30(promise, task);
}
});
} catch (Exception e) {
lambda$signInWithProvider$26(promise, e);
}
}
@ReactMethod
public void delete(String str, final Promise promise) {
FirebaseUser m = FirebaseAuth.getInstance(N8.g.p(str)).m();
if (m != null) {
m.e0().addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$delete$14(promise, task);
}
});
} else {
Log.e(TAG, "delete:failure:noCurrentUser");
promiseNoUser(promise, Boolean.TRUE);
}
}
@ReactMethod
public void fetchSignInMethodsForEmail(String str, String str2, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).k(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$fetchSignInMethodsForEmail$47(promise, task);
}
});
}
@ReactMethod
public void finalizeMultiFactorEnrollment(String str, String str2, String str3, String str4, final Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
firebaseAuth.m().o0().a(com.google.firebase.auth.C.a(PhoneAuthProvider.a(str2, str3)), str4).addOnCompleteListener(new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$finalizeMultiFactorEnrollment$28(promise, task);
}
});
}
@ReactMethod
public void forceRecaptchaFlowForTesting(String str, boolean z, Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).o().a(z);
promise.resolve((Object) null);
}
@Override
public Map<String, Object> getConstants() {
HashMap hashMap = new HashMap();
List n = N8.g.n(getReactApplicationContext());
HashMap hashMap2 = new HashMap();
HashMap hashMap3 = new HashMap();
Iterator it = n.iterator();
while (it.hasNext()) {
String q = ((N8.g) it.next()).q();
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(q));
FirebaseUser m = firebaseAuth.m();
hashMap2.put(q, firebaseAuth.p());
if (m != null) {
hashMap3.put(q, firebaseUserToMap(m));
}
}
hashMap.put("APP_LANGUAGE", hashMap2);
hashMap.put("APP_USER", hashMap3);
return hashMap;
}
@ReactMethod
public void getCustomAuthDomain(String str, Promise promise) {
promise.resolve(FirebaseAuth.getInstance(N8.g.p(str)).n());
}
@ReactMethod
public void getIdToken(String str, Boolean bool, final Promise promise) {
FirebaseUser m = FirebaseAuth.getInstance(N8.g.p(str)).m();
if (m == null) {
promiseNoUser(promise, Boolean.TRUE);
} else {
m.k0(bool.booleanValue()).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$getIdToken$45(promise, task);
}
});
}
}
@ReactMethod
public void getIdTokenResult(String str, Boolean bool, final Promise promise) {
FirebaseUser m = FirebaseAuth.getInstance(N8.g.p(str)).m();
if (m == null) {
promiseNoUser(promise, Boolean.TRUE);
} else {
m.k0(bool.booleanValue()).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$getIdTokenResult$46(promise, task);
}
});
}
}
@ReactMethod
public void getSession(String str, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).m().o0().c().addOnCompleteListener(new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$getSession$27(promise, task);
}
});
}
@Override
public void initialize() {
super.initialize();
}
@Override
public void invalidate() {
super.invalidate();
Iterator<Map.Entry<String, FirebaseAuth.a>> it = mAuthListeners.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, FirebaseAuth.a> next = it.next();
FirebaseAuth.getInstance(N8.g.p(next.getKey())).u(next.getValue());
it.remove();
}
Iterator<Map.Entry<String, FirebaseAuth.b>> it2 = mIdTokenListeners.entrySet().iterator();
while (it2.hasNext()) {
Map.Entry<String, FirebaseAuth.b> next2 = it2.next();
FirebaseAuth.getInstance(N8.g.p(next2.getKey())).v(next2.getValue());
it2.remove();
}
this.mCachedResolvers.clear();
this.mMultiFactorSessions.clear();
}
@ReactMethod
public void isSignInWithEmailLink(String str, String str2, Promise promise) {
promise.resolve(Boolean.valueOf(FirebaseAuth.getInstance(N8.g.p(str)).t(str2)));
}
@ReactMethod
public void reload(String str, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (m != null) {
m.v0().addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$reload$15(firebaseAuth, promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "reload:failure:noCurrentUser");
}
}
@ReactMethod
public void removeAuthStateListener(String str) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseAuth.a aVar = mAuthListeners.get(str);
if (aVar != null) {
firebaseAuth.u(aVar);
mAuthListeners.remove(str);
}
}
@ReactMethod
public void removeIdTokenListener(String str) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseAuth.b bVar = mIdTokenListeners.get(str);
if (bVar != null) {
firebaseAuth.v(bVar);
mIdTokenListeners.remove(str);
}
}
@ReactMethod
public void resolveMultiFactorSignIn(String str, String str2, String str3, String str4, Promise promise) {
resolveMultiFactorCredential(PhoneAuthProvider.a(str3, str4), str2, promise);
}
@ReactMethod
public void revokeToken(String str, String str2, Promise promise) {
Log.e(TAG, "revokeToken:failure:noCurrentUser");
promiseNoUser(promise, Boolean.FALSE);
}
@ReactMethod
public void sendEmailVerification(String str, ReadableMap readableMap, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (m == null) {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "sendEmailVerification:failure:noCurrentUser");
return;
}
OnCompleteListener onCompleteListener = new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$sendEmailVerification$16(firebaseAuth, promise, task);
}
};
if (readableMap == null) {
m.w0().addOnCompleteListener(getExecutor(), onCompleteListener);
} else {
m.x0(buildActionCodeSettings(readableMap)).addOnCompleteListener(getExecutor(), onCompleteListener);
}
}
@ReactMethod
public void sendPasswordResetEmail(String str, String str2, ReadableMap readableMap, final Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
OnCompleteListener onCompleteListener = new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$sendPasswordResetEmail$12(promise, task);
}
};
if (readableMap == null) {
firebaseAuth.w(str2).addOnCompleteListener(getExecutor(), onCompleteListener);
} else {
firebaseAuth.x(str2, buildActionCodeSettings(readableMap)).addOnCompleteListener(getExecutor(), onCompleteListener);
}
}
@ReactMethod
public void sendSignInLinkToEmail(String str, String str2, ReadableMap readableMap, final Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
firebaseAuth.y(str2, buildActionCodeSettings(readableMap)).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$sendSignInLinkToEmail$13(promise, task);
}
});
}
@ReactMethod
public void setAppVerificationDisabledForTesting(String str, boolean z, Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).o().b(z);
promise.resolve((Object) null);
}
@ReactMethod
public void setAutoRetrievedSmsCodeForPhoneNumber(String str, String str2, String str3, Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).o().c(str2, str3);
promise.resolve((Object) null);
}
@ReactMethod
public void setLanguageCode(String str, String str2) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (str2 == null) {
firebaseAuth.J();
} else {
firebaseAuth.A(str2);
}
}
@ReactMethod
public void setTenantId(String str, String str2) {
FirebaseAuth.getInstance(N8.g.p(str)).B(str2);
}
@ReactMethod
public void signInWithPhoneNumber(String str, String str2, boolean z, Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
Activity currentActivity = getCurrentActivity();
if (!str2.equals(this.mLastPhoneNumber)) {
this.mForceResendingToken = null;
this.mLastPhoneNumber = str2;
}
this.mVerificationId = null;
a aVar = new a(firebaseAuth, promise);
if (currentActivity != null) {
if (!z || this.mForceResendingToken == null) {
PhoneAuthProvider.b(firebaseAuth).d(str2, 60L, TimeUnit.SECONDS, currentActivity, aVar);
} else {
PhoneAuthProvider.b(firebaseAuth).e(str2, 60L, TimeUnit.SECONDS, currentActivity, aVar, this.mForceResendingToken);
}
}
}
@ReactMethod
public void signOut(String str, Promise promise) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
if (firebaseAuth == null || firebaseAuth.m() == null) {
promiseNoUser(promise, Boolean.TRUE);
} else {
firebaseAuth.H();
promiseNoUser(promise, Boolean.FALSE);
}
}
@ReactMethod
public void unlink(String str, String str2, final Promise promise) {
FirebaseUser m = FirebaseAuth.getInstance(N8.g.p(str)).m();
if (m != null) {
m.A0(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$unlink$39(promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.TRUE);
}
}
@ReactMethod
public void updateEmail(String str, String str2, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (m != null) {
m.B0(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$updateEmail$18(firebaseAuth, promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "updateEmail:failure:noCurrentUser");
}
}
@ReactMethod
public void updatePassword(String str, String str2, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (m != null) {
m.C0(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$updatePassword$19(firebaseAuth, promise, task);
}
});
} else {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "updatePassword:failure:noCurrentUser");
}
}
@ReactMethod
public void updateProfile(String str, ReadableMap readableMap, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (m == null) {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "updateProfile:failure:noCurrentUser");
return;
}
UserProfileChangeRequest.a aVar = new UserProfileChangeRequest.a();
if (readableMap.hasKey("displayName")) {
aVar.b(readableMap.getString("displayName"));
}
if (readableMap.hasKey("photoURL")) {
String string = readableMap.getString("photoURL");
aVar.c(string == null ? null : Uri.parse(string));
}
m.E0(aVar.a()).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$updateProfile$21(firebaseAuth, promise, task);
}
});
}
@ReactMethod
public void useDeviceLanguage(String str) {
FirebaseAuth.getInstance(N8.g.p(str)).J();
}
@ReactMethod
public void useEmulator(String str, String str2, int i) {
if (emulatorConfigs.get(str) == null) {
emulatorConfigs.put(str, "true");
FirebaseAuth.getInstance(N8.g.p(str)).K(str2, i);
}
}
@ReactMethod
public void verifyBeforeUpdateEmail(String str, String str2, ReadableMap readableMap, final Promise promise) {
final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
FirebaseUser m = firebaseAuth.m();
if (m == null) {
promiseNoUser(promise, Boolean.FALSE);
Log.e(TAG, "verifyBeforeUpdateEmail:failure:noCurrentUser");
return;
}
OnCompleteListener onCompleteListener = new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$verifyBeforeUpdateEmail$17(firebaseAuth, promise, task);
}
};
if (readableMap == null) {
m.F0(str2).addOnCompleteListener(getExecutor(), onCompleteListener);
} else {
m.G0(str2, buildActionCodeSettings(readableMap)).addOnCompleteListener(getExecutor(), onCompleteListener);
}
}
@ReactMethod
public void verifyPasswordResetCode(String str, String str2, final Promise promise) {
FirebaseAuth.getInstance(N8.g.p(str)).L(str2).addOnCompleteListener(getExecutor(), new OnCompleteListener() {
public final void onComplete(Task task) {
ReactNativeFirebaseAuthModule.this.lambda$verifyPasswordResetCode$48(promise, task);
}
});
}
@ReactMethod
public void verifyPhoneNumber(String str, String str2, String str3, int i, boolean z) {
StringBuilder sb2 = new StringBuilder();
sb2.append("verifyPhoneNumber:");
sb2.append(str2);
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
Activity currentActivity = getCurrentActivity();
if (!str2.equals(this.mLastPhoneNumber)) {
this.mForceResendingToken = null;
this.mLastPhoneNumber = str2;
}
this.mCredential = null;
d dVar = new d(str, str3);
if (currentActivity != null) {
if (!z || this.mForceResendingToken == null) {
PhoneAuthProvider.b(firebaseAuth).d(str2, i, TimeUnit.SECONDS, currentActivity, dVar);
} else {
PhoneAuthProvider.b(firebaseAuth).e(str2, i, TimeUnit.SECONDS, currentActivity, dVar, this.mForceResendingToken);
}
}
}
@ReactMethod
public void verifyPhoneNumberForMultiFactor(String str, String str2, String str3, Promise promise) {
MultiFactorSession multiFactorSession = this.mMultiFactorSessions.get(str3);
if (multiFactorSession == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-multi-factor-session", "can't find session for provided key");
} else {
PhoneAuthProvider.c(com.google.firebase.auth.A.a(FirebaseAuth.getInstance(N8.g.p(str))).h(str2).c(getCurrentActivity()).i(30L, TimeUnit.SECONDS).g(multiFactorSession).b(true).d(new c(promise)).a());
}
}
@ReactMethod
public void verifyPhoneNumberWithMultiFactorInfo(String str, String str2, String str3, Promise promise) {
MultiFactorInfo multiFactorInfo;
MultiFactorResolver multiFactorResolver = this.mCachedResolvers.get(str3);
if (multiFactorResolver == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "invalid-multi-factor-session", "No resolver for session found. Is the session id correct?");
return;
}
Iterator it = multiFactorResolver.k0().iterator();
while (true) {
if (!it.hasNext()) {
multiFactorInfo = null;
break;
} else {
multiFactorInfo = (MultiFactorInfo) it.next();
if (str2.equals(multiFactorInfo.c())) {
break;
}
}
}
if (multiFactorInfo == null) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "multi-factor-info-not-found", "The user does not have a second factor matching the identifier provided.");
} else {
if (!"phone".equals(multiFactorInfo.k0())) {
ReactNativeFirebaseModule.rejectPromiseWithCodeAndMessage(promise, "unknown", "Unsupported second factor. Only phone factors are supported.");
return;
}
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(N8.g.p(str));
PhoneAuthProvider.c(com.google.firebase.auth.A.a(firebaseAuth).c(getCurrentActivity()).f((PhoneMultiFactorInfo) multiFactorInfo).i(30L, TimeUnit.SECONDS).g(multiFactorResolver.n0()).d(new b(promise, str3)).a());
}
}
}