Skip to content

Commit 6094b0e

Browse files
committed
[#1916] Use Intent as input type for FirebaseAuthUIActivityResultContract
1 parent 0cbcb6a commit 6094b0e

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

app/src/main/java/com/firebase/uidemo/auth/AnonymousUpgradeActivity.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.firebase.uidemo.auth;
22

3+
import android.content.Intent;
34
import android.os.Bundle;
45
import android.text.TextUtils;
56
import android.util.Log;
@@ -9,8 +10,8 @@
910

1011
import com.firebase.ui.auth.AuthUI;
1112
import com.firebase.ui.auth.ErrorCodes;
12-
import com.firebase.ui.auth.IdpResponse;
1313
import com.firebase.ui.auth.FirebaseAuthUIActivityResultContract;
14+
import com.firebase.ui.auth.IdpResponse;
1415
import com.firebase.ui.auth.data.model.FirebaseAuthUIAuthenticationResult;
1516
import com.firebase.uidemo.R;
1617
import com.firebase.uidemo.util.ConfigurationUtils;
@@ -37,8 +38,6 @@ public class AnonymousUpgradeActivity extends AppCompatActivity
3738

3839
private static final String TAG = "AccountLink";
3940

40-
private static final int RC_SIGN_IN = 123;
41-
4241
@BindView(R.id.status_text)
4342
TextView mStatus;
4443

@@ -56,7 +55,7 @@ public class AnonymousUpgradeActivity extends AppCompatActivity
5655

5756
private AuthCredential mPendingCredential;
5857

59-
private final ActivityResultLauncher<AuthUI.SignInIntentBuilder> signIn =
58+
private final ActivityResultLauncher<Intent> signIn =
6059
registerForActivityResult(new FirebaseAuthUIActivityResultContract(), this);
6160

6261
@Override
@@ -96,11 +95,12 @@ public void onComplete(@NonNull Task<AuthResult> task) {
9695
@OnClick(R.id.begin_flow)
9796
public void startAuthUI() {
9897
List<AuthUI.IdpConfig> providers = ConfigurationUtils.getConfiguredProviders(this);
99-
AuthUI.SignInIntentBuilder intentBuilder = AuthUI.getInstance().createSignInIntentBuilder()
98+
Intent signInIntent = AuthUI.getInstance().createSignInIntentBuilder()
10099
.setLogo(R.drawable.firebase_auth_120dp)
101100
.setAvailableProviders(providers)
102-
.enableAnonymousUsersAutoUpgrade();
103-
signIn.launch(intentBuilder);
101+
.enableAnonymousUsersAutoUpgrade()
102+
.build();
103+
signIn.launch(signInIntent);
104104
}
105105

106106
@OnClick(R.id.resolve_merge)

app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java

+5-7
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ public class AuthUiActivity extends AppCompatActivity
7171
private static final String FIREBASE_PRIVACY_POLICY_URL = "https://firebase.google" +
7272
".com/terms/analytics/#7_privacy";
7373

74-
private static final int RC_SIGN_IN = 100;
75-
7674
@BindView(R.id.root) View mRootView;
7775

7876
@BindView(R.id.google_provider) CheckBox mUseGoogleProvider;
@@ -116,7 +114,7 @@ public class AuthUiActivity extends AppCompatActivity
116114
@BindView(R.id.require_name) CheckBox mRequireName;
117115
@BindView(R.id.use_auth_emulator) CheckBox mUseEmulator;
118116

119-
private final ActivityResultLauncher<AuthUI.SignInIntentBuilder> signIn =
117+
private final ActivityResultLauncher<Intent> signIn =
120118
registerForActivityResult(new FirebaseAuthUIActivityResultContract(), this);
121119

122120
@NonNull
@@ -245,11 +243,11 @@ public void flipEmailLinkProviderCheckbox(boolean passwordProviderIsChecked) {
245243

246244
@OnClick(R.id.sign_in)
247245
public void signIn() {
248-
signIn.launch(getSignInIntentBuilder(/*link=*/null));
246+
signIn.launch(getSignInIntent(/*link=*/null));
249247
}
250248

251249
public void signInWithEmailLink(@Nullable String link) {
252-
signIn.launch(getSignInIntentBuilder(link));
250+
signIn.launch(getSignInIntent(link));
253251
}
254252

255253
@NonNull
@@ -262,7 +260,7 @@ public AuthUI getAuthUI() {
262260
return authUI;
263261
}
264262

265-
private AuthUI.SignInIntentBuilder getSignInIntentBuilder(@Nullable String link) {
263+
private Intent getSignInIntent(@Nullable String link) {
266264
AuthUI.SignInIntentBuilder builder = getAuthUI().createSignInIntentBuilder()
267265
.setTheme(getSelectedTheme())
268266
.setLogo(getSelectedLogo())
@@ -297,7 +295,7 @@ private AuthUI.SignInIntentBuilder getSignInIntentBuilder(@Nullable String link)
297295
if (auth.getCurrentUser() != null && auth.getCurrentUser().isAnonymous()) {
298296
builder.enableAnonymousUsersAutoUpgrade();
299297
}
300-
return builder;
298+
return builder.build();
301299
}
302300

303301
@OnClick(R.id.sign_in_silent)

auth/src/main/java/com/firebase/ui/auth/FirebaseAuthUIActivityResultContract.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,19 @@
1010
import androidx.annotation.Nullable;
1111

1212
/**
13-
* A {@link ActivityResultContract} describing that the caller can launch authentication with a
14-
* {@link com.firebase.ui.auth.AuthUI.SignInIntentBuilder} and is guaranteed to receive a
15-
* {@link FirebaseAuthUIAuthenticationResult} as result.
13+
* A {@link ActivityResultContract} describing that the caller can launch authentication flow with a
14+
* {@link Intent} and is guaranteed to receive a {@link FirebaseAuthUIAuthenticationResult} as
15+
* result. The given input intent <b>must</b> be created using a
16+
* {@link com.firebase.ui.auth.AuthUI.SignInIntentBuilder} in order to guarantee a successful
17+
* launch of the authentication flow.
1618
*/
1719
public class FirebaseAuthUIActivityResultContract extends
18-
ActivityResultContract<AuthUI.SignInIntentBuilder, FirebaseAuthUIAuthenticationResult> {
20+
ActivityResultContract<Intent, FirebaseAuthUIAuthenticationResult> {
1921

2022
@NonNull
2123
@Override
22-
public Intent createIntent(@NonNull Context context, AuthUI.SignInIntentBuilder input) {
23-
return input.build();
24+
public Intent createIntent(@NonNull Context context, Intent input) {
25+
return input;
2426
}
2527

2628
@Override

0 commit comments

Comments
 (0)