Skip to content

Commit 1b8f2a5

Browse files
committed
Merge pull request #167 from amandle/specify_email
Use the account selected from the hint picker when signing in with Google
2 parents e97f325 + 8d2e793 commit 1b8f2a5

File tree

9 files changed

+28
-18
lines changed

9 files changed

+28
-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: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import android.content.Context;
1919
import android.content.Intent;
2020
import android.os.Bundle;
21+
import android.support.annotation.Nullable;
22+
import android.text.TextUtils;
2123
import android.view.View;
2224
import android.view.View.OnClickListener;
2325

@@ -40,15 +42,19 @@ public class GoogleProvider implements IDPProvider, OnClickListener {
4042
private Activity mActivity;
4143
private IDPCallback mIDPCallback;
4244

43-
public GoogleProvider(Activity activity, IDPProviderParcel parcel) {
45+
public GoogleProvider(Activity activity, IDPProviderParcel parcel, @Nullable String email) {
4446
mActivity = activity;
4547
String mClientId = parcel.getProviderExtra().getString(CLIENT_ID_KEY);
4648
GoogleSignInOptions googleSignInOptions;
4749

48-
googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
50+
GoogleSignInOptions.Builder builder = new GoogleSignInOptions.Builder(GoogleSignInOptions
51+
.DEFAULT_SIGN_IN)
4952
.requestEmail()
50-
.requestIdToken(mClientId)
51-
.build();
53+
.requestIdToken(mClientId);
54+
if (!TextUtils.isEmpty(email)) {
55+
builder.setAccountName(email);
56+
}
57+
googleSignInOptions = builder.build();
5258

5359
mGoogleApiClient = new GoogleApiClient.Builder(activity)
5460
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
@@ -104,7 +110,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
104110
}
105111

106112
@Override
107-
public void startLogin(Activity activity, String mEmail) {
113+
public void startLogin(Activity activity) {
108114
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
109115
activity.startActivityForResult(signInIntent, RC_SIGN_IN);
110116
}
@@ -118,7 +124,7 @@ private void onError(String errorMessage) {
118124
@Override
119125
public void onClick(View view) {
120126
Auth.GoogleSignInApi.signOut(mGoogleApiClient);
121-
startLogin(mActivity, null);
127+
startLogin(mActivity);
122128
}
123129
}
124130

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)