Skip to content

Commit 6507438

Browse files
authored
refactor(authui): upgrade to Firebase Auth v20.0.0 (#1857)
1 parent 922466b commit 6507438

10 files changed

+26
-32
lines changed

auth/src/main/java/com/firebase/ui/auth/ui/phone/PhoneNumberVerificationHandler.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.firebase.ui.auth.viewmodel.AuthViewModelBase;
1010
import com.google.firebase.FirebaseException;
1111
import com.google.firebase.auth.PhoneAuthCredential;
12+
import com.google.firebase.auth.PhoneAuthOptions;
1213
import com.google.firebase.auth.PhoneAuthProvider;
1314

1415
import java.util.concurrent.TimeUnit;
@@ -29,20 +30,19 @@ public PhoneNumberVerificationHandler(Application application) {
2930

3031
public void verifyPhoneNumber(@NonNull Activity activity, final String number, boolean force) {
3132
setResult(Resource.<PhoneVerification>forLoading());
32-
getPhoneAuth().verifyPhoneNumber(
33-
number,
34-
AUTO_RETRIEVAL_TIMEOUT_SECONDS,
35-
TimeUnit.SECONDS,
36-
activity,
37-
new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
33+
PhoneAuthOptions.Builder optionsBuilder = PhoneAuthOptions.newBuilder(getAuth())
34+
.setPhoneNumber(number)
35+
.setTimeout(AUTO_RETRIEVAL_TIMEOUT_SECONDS, TimeUnit.SECONDS)
36+
.setActivity(activity)
37+
.setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
3838
@Override
3939
public void onVerificationCompleted(@NonNull PhoneAuthCredential credential) {
4040
setResult(Resource.forSuccess(new PhoneVerification(
4141
number, credential, true)));
4242
}
4343

4444
@Override
45-
public void onVerificationFailed(FirebaseException e) {
45+
public void onVerificationFailed(@NonNull FirebaseException e) {
4646
setResult(Resource.<PhoneVerification>forFailure(e));
4747
}
4848

@@ -54,8 +54,11 @@ public void onCodeSent(@NonNull String verificationId,
5454
setResult(Resource.<PhoneVerification>forFailure(
5555
new PhoneNumberVerificationRequiredException(number)));
5656
}
57-
},
58-
force ? mForceResendingToken : null);
57+
});
58+
if (force) {
59+
optionsBuilder.setForceResendingToken(mForceResendingToken);
60+
}
61+
PhoneAuthProvider.verifyPhoneNumber(optionsBuilder.build());
5962
}
6063

6164
public void submitVerificationCode(String number, String code) {

auth/src/main/java/com/firebase/ui/auth/viewmodel/AuthViewModelBase.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.google.firebase.FirebaseApp;
1010
import com.google.firebase.auth.FirebaseAuth;
1111
import com.google.firebase.auth.FirebaseUser;
12-
import com.google.firebase.auth.PhoneAuthProvider;
1312

1413
import androidx.annotation.Nullable;
1514
import androidx.annotation.RestrictTo;
@@ -19,7 +18,6 @@
1918
public abstract class AuthViewModelBase<T> extends OperableViewModel<FlowParameters, Resource<T>> {
2019
private CredentialsClient mCredentialsClient;
2120
private FirebaseAuth mAuth;
22-
private PhoneAuthProvider mPhoneAuth;
2321

2422
protected AuthViewModelBase(Application application) {
2523
super(application);
@@ -29,7 +27,6 @@ protected AuthViewModelBase(Application application) {
2927
protected void onCreate() {
3028
FirebaseApp app = FirebaseApp.getInstance(getArguments().appName);
3129
mAuth = FirebaseAuth.getInstance(app);
32-
mPhoneAuth = PhoneAuthProvider.getInstance(mAuth);
3330
mCredentialsClient = GoogleApiUtils.getCredentialsClient(getApplication());
3431
}
3532

@@ -42,22 +39,16 @@ protected FirebaseAuth getAuth() {
4239
return mAuth;
4340
}
4441

45-
protected PhoneAuthProvider getPhoneAuth() {
46-
return mPhoneAuth;
47-
}
48-
4942
protected CredentialsClient getCredentialsClient() {
5043
return mCredentialsClient;
5144
}
5245

5346
@VisibleForTesting
5447
public void initializeForTesting(FlowParameters parameters,
5548
FirebaseAuth auth,
56-
CredentialsClient client,
57-
PhoneAuthProvider phoneAuth) {
49+
CredentialsClient client) {
5850
setArguments(parameters);
5951
mAuth = auth;
6052
mCredentialsClient = client;
61-
mPhoneAuth = phoneAuth;
6253
}
6354
}

auth/src/test/java/com/firebase/ui/auth/viewmodel/EmailLinkSendEmailHandlerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void setUp() {
6262
mHandler = new EmailLinkSendEmailHandler((Application) ApplicationProvider.getApplicationContext());
6363
FlowParameters testParams = TestHelper.getFlowParameters(new ArrayList<String>());
6464

65-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
65+
mHandler.initializeForTesting(testParams, mMockAuth, null);
6666
mPersistenceManager = EmailLinkPersistenceManager.getInstance();
6767
}
6868

auth/src/test/java/com/firebase/ui/auth/viewmodel/EmailLinkSignInHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ private void setupAnonymousUpgrade() {
659659
EmailAuthProvider.PROVIDER_ID), /* enableAnonymousUpgrade */ true);
660660

661661
testParams.emailLink = mHandler.getArguments().emailLink;
662-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
662+
mHandler.initializeForTesting(testParams, mMockAuth, null);
663663

664664
// Mock isAnonymous() to return true so canUpgradeAnonymous will return true
665665
when(mMockAnonUser.isAnonymous()).thenReturn(true);
@@ -679,6 +679,6 @@ private void initializeHandlerWithSessionInfo(@Nullable String sessionId,
679679

680680
testParams.emailLink = EMAIL_LINK + continueUrlBuilder.build();
681681

682-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
682+
mHandler.initializeForTesting(testParams, mMockAuth, null);
683683
}
684684
}

auth/src/test/java/com/firebase/ui/auth/viewmodel/LinkingSocialProviderResponseHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void setUp() {
7979
mHandler = new LinkingSocialProviderResponseHandler((Application) ApplicationProvider.getApplicationContext());
8080
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
8181
GoogleAuthProvider.PROVIDER_ID));
82-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
82+
mHandler.initializeForTesting(testParams, mMockAuth, null);
8383
}
8484

8585
@Test
@@ -279,7 +279,7 @@ public void testSignIn_genericIdpLinkingFlow_expectImmediateLink() {
279279
private void setupAnonymousUpgrade() {
280280
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
281281
GoogleAuthProvider.PROVIDER_ID), true);
282-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
282+
mHandler.initializeForTesting(testParams, mMockAuth, null);
283283
when(mMockAuth.getCurrentUser()).thenReturn(mMockUser);
284284
when(mMockUser.isAnonymous()).thenReturn(true);
285285
AuthOperationManager.getInstance().mScratchAuth = mScratchMockAuth;

auth/src/test/java/com/firebase/ui/auth/viewmodel/PhoneProviderResponseHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void setUp() {
6262
mHandler = new PhoneProviderResponseHandler((Application) ApplicationProvider.getApplicationContext());
6363
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
6464
PhoneAuthProvider.PROVIDER_ID));
65-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
65+
mHandler.initializeForTesting(testParams, mMockAuth, null);
6666
}
6767

6868
@Test
@@ -138,7 +138,7 @@ public void testSignIn_autoUpgradeAnonymousEnabledWithExistingUser_expectMergeFa
138138
private void setupAnonymousUpgrade() {
139139
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
140140
PhoneAuthProvider.PROVIDER_ID), true);
141-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
141+
mHandler.initializeForTesting(testParams, mMockAuth, null);
142142
when(mMockAuth.getCurrentUser()).thenReturn(mMockUser);
143143
when(mMockUser.isAnonymous()).thenReturn(true);
144144
}

auth/src/test/java/com/firebase/ui/auth/viewmodel/RecoverPasswordHandlerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void setUp() {
5151

5252
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
5353
EmailAuthProvider.PROVIDER_ID));
54-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
54+
mHandler.initializeForTesting(testParams, mMockAuth, null);
5555

5656
mPasswordResetSettings = ActionCodeSettings.newBuilder()
5757
.setAndroidPackageName("com.firebase.uidemo", true, null)

auth/src/test/java/com/firebase/ui/auth/viewmodel/SmartLockHandlerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void setUp() {
6262
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
6363
EmailAuthProvider.PROVIDER_ID));
6464

65-
mHandler.initializeForTesting(testParams, mMockAuth, mMockCredentials, null);
65+
mHandler.initializeForTesting(testParams, mMockAuth, mMockCredentials);
6666
mHandler.setResponse(new IdpResponse.Builder(
6767
new User.Builder(EmailAuthProvider.PROVIDER_ID, TestConstants.EMAIL).build()
6868
).build());

auth/src/test/java/com/firebase/ui/auth/viewmodel/SocialProviderResponseHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void setUp() {
7373
mHandler = new SocialProviderResponseHandler((Application) ApplicationProvider.getApplicationContext());
7474
FlowParameters testParams = TestHelper.getFlowParameters(AuthUI.SUPPORTED_PROVIDERS);
7575

76-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
76+
mHandler.initializeForTesting(testParams, mMockAuth, null);
7777
}
7878

7979
@Test
@@ -334,7 +334,7 @@ private void setupAnonymousUpgrade() {
334334
// enableAnonymousUpgrade must be set to true
335335
FlowParameters testParams = TestHelper.getFlowParameters(AuthUI.SUPPORTED_PROVIDERS,
336336
/* enableAnonymousUpgrade */ true);
337-
mHandler.initializeForTesting(testParams, mMockAuth, null, null);
337+
mHandler.initializeForTesting(testParams, mMockAuth, null);
338338

339339
when(mUser.isAnonymous()).thenReturn(true);
340340
when(mMockAuth.getCurrentUser()).thenReturn(mUser);

auth/src/test/java/com/firebase/ui/auth/viewmodel/WelcomeBackPasswordHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void setUp() {
6868

6969
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
7070
EmailAuthProvider.PROVIDER_ID));
71-
mHandler.initializeForTesting(testParams, mMockAuth, mMockCredentials, null);
71+
mHandler.initializeForTesting(testParams, mMockAuth, mMockCredentials);
7272
}
7373

7474
@Test
@@ -230,7 +230,7 @@ private void setupAnonymousUpgrade() {
230230
// enableAnonymousUpgrade must be set to true
231231
FlowParameters testParams = TestHelper.getFlowParameters(Collections.singletonList(
232232
EmailAuthProvider.PROVIDER_ID), /* enableAnonymousUpgrade */ true);
233-
mHandler.initializeForTesting(testParams, mMockAuth, mMockCredentials, null);
233+
mHandler.initializeForTesting(testParams, mMockAuth, mMockCredentials);
234234

235235
// Mock isAnonymous() to return true so canUpgradeAnonymous will return true
236236
when(mUser.isAnonymous()).thenReturn(true);

0 commit comments

Comments
 (0)