Skip to content

Commit b17fe5b

Browse files
author
Aaron Mandle
committed
Use the account selected from the hint picker when signing in with Google
1 parent e97f325 commit b17fe5b

File tree

9 files changed

+27
-18
lines changed

9 files changed

+27
-18
lines changed

auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public String getProviderId() {
7373
}
7474

7575
@Override
76-
public void startLogin(Activity activity, String email) {
76+
public void startLogin(Activity activity) {
7777
mCallbackManager = CallbackManager.Factory.create();
7878
LoginManager loginManager = LoginManager.getInstance();
7979
loginManager.registerCallback(mCallbackManager, this);

auth/src/main/java/com/firebase/ui/auth/provider/GoogleProvider.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import android.content.Context;
1919
import android.content.Intent;
2020
import android.os.Bundle;
21+
import android.support.annotation.Nullable;
2122
import android.view.View;
2223
import android.view.View.OnClickListener;
2324

@@ -40,15 +41,19 @@ public class GoogleProvider implements IDPProvider, OnClickListener {
4041
private Activity mActivity;
4142
private IDPCallback mIDPCallback;
4243

43-
public GoogleProvider(Activity activity, IDPProviderParcel parcel) {
44+
public GoogleProvider(Activity activity, IDPProviderParcel parcel, @Nullable String email) {
4445
mActivity = activity;
4546
String mClientId = parcel.getProviderExtra().getString(CLIENT_ID_KEY);
4647
GoogleSignInOptions googleSignInOptions;
4748

48-
googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
49+
GoogleSignInOptions.Builder builder = new GoogleSignInOptions.Builder(GoogleSignInOptions
50+
.DEFAULT_SIGN_IN)
4951
.requestEmail()
50-
.requestIdToken(mClientId)
51-
.build();
52+
.requestIdToken(mClientId);
53+
if (email != null) {
54+
builder.setAccountName(email);
55+
}
56+
googleSignInOptions = builder.build();
5257

5358
mGoogleApiClient = new GoogleApiClient.Builder(activity)
5459
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
@@ -104,7 +109,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
104109
}
105110

106111
@Override
107-
public void startLogin(Activity activity, String mEmail) {
112+
public void startLogin(Activity activity) {
108113
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
109114
activity.startActivityForResult(signInIntent, RC_SIGN_IN);
110115
}
@@ -118,7 +123,7 @@ private void onError(String errorMessage) {
118123
@Override
119124
public void onClick(View view) {
120125
Auth.GoogleSignInApi.signOut(mGoogleApiClient);
121-
startLogin(mActivity, null);
126+
startLogin(mActivity);
122127
}
123128
}
124129

auth/src/main/java/com/firebase/ui/auth/provider/IDPProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public interface IDPProvider {
3232

3333
void onActivityResult(int requestCode, int resultCode, Intent data);
3434

35-
void startLogin(Activity activity, String mEmail);
35+
void startLogin(Activity activity);
3636

3737
public interface IDPCallback {
3838
public void onSuccess(IDPResponse idpResponse);

auth/src/main/java/com/firebase/ui/auth/ui/account_link/WelcomeBackIDPPrompt.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ protected void onCreate(Bundle savedInstanceState) {
6868
if (mProviderId.equals(providerParcel.getProviderType())) {
6969
switch (mProviderId) {
7070
case GoogleAuthProvider.PROVIDER_ID:
71-
mIdpProvider = new GoogleProvider(this, providerParcel);
71+
mIdpProvider = new GoogleProvider(
72+
this,
73+
providerParcel,
74+
getEmailFromIntent());
7275
break;
7376
case FacebookAuthProvider.PROVIDER_ID:
7477
mIdpProvider = new FacebookProvider(this, providerParcel);
@@ -101,7 +104,7 @@ protected void onCreate(Bundle savedInstanceState) {
101104
@Override
102105
public void onClick(View view) {
103106
mActivityHelper.showLoadingDialog(R.string.progress_dialog_signing_in);
104-
mIdpProvider.startLogin(WelcomeBackIDPPrompt.this, getEmailFromIntent());
107+
mIdpProvider.startLogin(WelcomeBackIDPPrompt.this);
105108
}
106109
});
107110
}

auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private void populateIdpList(List<IDPProviderParcel> providers) {
8888
mIdpProviders.add(new FacebookProvider(this, providerParcel));
8989
break;
9090
case GoogleAuthProvider.PROVIDER_ID:
91-
mIdpProviders.add(new GoogleProvider(this, providerParcel));
91+
mIdpProviders.add(new GoogleProvider(this, providerParcel, null));
9292
break;
9393
case EmailAuthProvider.PROVIDER_ID:
9494
findViewById(R.id.email_provider).setVisibility(View.VISIBLE);
@@ -120,7 +120,7 @@ private void populateIdpList(List<IDPProviderParcel> providers) {
120120
@Override
121121
public void onClick(View view) {
122122
mActivityHelper.showLoadingDialog(R.string.progress_dialog_loading);
123-
provider.startLogin(AuthMethodPickerActivity.this, null);
123+
provider.startLogin(AuthMethodPickerActivity.this);
124124
}
125125
});
126126
provider.setAuthenticationCallback(this);

auth/src/main/java/com/firebase/ui/auth/ui/idp/IDPSignInContainerActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ protected void onCreate(Bundle savedInstanceState) {
6262
if (mProvider.equalsIgnoreCase(FacebookAuthProvider.PROVIDER_ID)) {
6363
mIDPProvider = new FacebookProvider(this, providerParcel);
6464
} else if (mProvider.equalsIgnoreCase(GoogleAuthProvider.PROVIDER_ID)) {
65-
mIDPProvider = new GoogleProvider(this, providerParcel);
65+
mIDPProvider = new GoogleProvider(this, providerParcel, mEmail);
6666
}
6767
mIDPProvider.setAuthenticationCallback(this);
68-
mIDPProvider.startLogin(this, mEmail);
68+
mIDPProvider.startLogin(this);
6969
}
7070

7171
@Override

auth/src/test/java/com/firebase/ui/auth/test_helpers/FacebookProviderShadow.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ public FacebookProviderShadow() {
5050
}
5151
}
5252

53-
public void __constructor__(Activity activity, IDPProviderParcel parcel) {}
53+
public void __constructor__(Activity activity, IDPProviderParcel parcel, String email) {}
5454

5555
@Implementation
5656
public void setAuthenticationCallback(IDPProvider.IDPCallback idpCallback) {
5757
mCallback = idpCallback;
5858
}
5959

6060
@Implementation
61-
public void startLogin(Activity activity, String email) {
61+
public void startLogin(Activity activity) {
6262
mCallback.onSuccess(mMockIdpResponse);
6363
}
6464
}

auth/src/test/java/com/firebase/ui/auth/test_helpers/GoogleProviderShadow.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public GoogleProviderShadow() {
5151
}
5252
}
5353

54-
public void __constructor__(Activity activity, IDPProviderParcel parcel) {}
54+
public void __constructor__(Activity activity, IDPProviderParcel parcel, String email) {}
5555

5656

5757
@Implementation
@@ -60,7 +60,7 @@ public void setAuthenticationCallback(IDPProvider.IDPCallback idpCallback) {
6060
}
6161

6262
@Implementation
63-
public void startLogin(Activity activity, String email) {
63+
public void startLogin(Activity activity) {
6464
mCallback.onSuccess(mMockIdpResponse);
6565
}
6666
}

auth/src/test/java/com/firebase/ui/auth/test_helpers/TestHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public static FlowParameters getFlowParameters(Context context, List<String> pro
5252
FIREBASE_APP_NAME,
5353
ProviderHelper.getProviderParcels(context, providerIds),
5454
AuthUI.getDefaultTheme(),
55+
AuthUI.NO_LOGO,
5556
null
5657
);
5758
}

0 commit comments

Comments
 (0)