Skip to content

Commit 7c2f436

Browse files
SUPERCILEXsamtstern
authored andcommitted
Redo changes from #591 (#630)
1 parent 1c5e87b commit 7c2f436

File tree

3 files changed

+29
-31
lines changed

3 files changed

+29
-31
lines changed

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@
4646

4747
import java.util.ArrayList;
4848
import java.util.Iterator;
49+
import java.util.List;
4950

5051
import butterknife.BindView;
5152
import butterknife.ButterKnife;
5253
import butterknife.OnClick;
53-
import java.util.List;
5454

5555
public class SignedInActivity extends AppCompatActivity {
5656
private static final String EXTRA_SIGNED_IN_CONFIG = "extra_signed_in_config";
@@ -241,12 +241,11 @@ static final class SignedInConfig implements Parcelable {
241241
String tosUrl;
242242
boolean isSmartLockEnabled;
243243

244-
SignedInConfig(
245-
int logo,
246-
int theme,
247-
List<IdpConfig> providerInfo,
248-
String tosUrl,
249-
boolean isSmartLockEnabled) {
244+
SignedInConfig(int logo,
245+
int theme,
246+
List<IdpConfig> providerInfo,
247+
String tosUrl,
248+
boolean isSmartLockEnabled) {
250249
this.logo = logo;
251250
this.theme = theme;
252251
this.providerInfo = providerInfo;

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

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
import android.content.Intent;
1919
import android.os.Parcel;
2020
import android.os.Parcelable;
21+
import android.support.annotation.CallSuper;
2122
import android.support.annotation.DrawableRes;
2223
import android.support.annotation.NonNull;
2324
import android.support.annotation.Nullable;
2425
import android.support.annotation.StyleRes;
25-
import android.support.annotation.VisibleForTesting;
2626
import android.support.v4.app.FragmentActivity;
2727

2828
import com.facebook.login.LoginManager;
@@ -439,20 +439,17 @@ private abstract class AuthIntentBuilder<T extends AuthIntentBuilder> {
439439
String mTosUrl;
440440
boolean mIsSmartLockEnabled = true;
441441

442-
private AuthIntentBuilder() {
443-
mProviders.add(new IdpConfig.Builder(EMAIL_PROVIDER).build());
444-
}
445-
442+
private AuthIntentBuilder() {}
446443

447444
/**
448445
* Specifies the theme to use for the application flow. If no theme is specified,
449446
* a default theme will be used.
450447
*/
451448
public T setTheme(@StyleRes int theme) {
452449
Preconditions.checkValidStyle(
453-
mApp.getApplicationContext(),
454-
theme,
455-
"theme identifier is unknown or not a style definition");
450+
mApp.getApplicationContext(),
451+
theme,
452+
"theme identifier is unknown or not a style definition");
456453
mTheme = theme;
457454
return (T) this;
458455
}
@@ -542,12 +539,16 @@ public T setIsSmartLockEnabled(boolean enabled) {
542539
return (T) this;
543540
}
544541

542+
@CallSuper
545543
public Intent build() {
544+
if (mProviders.isEmpty()) {
545+
mProviders.add(new IdpConfig.Builder(EMAIL_PROVIDER).build());
546+
}
547+
546548
return KickoffActivity.createIntent(mApp.getApplicationContext(), getFlowParams());
547549
}
548550

549-
@VisibleForTesting()
550-
public abstract FlowParameters getFlowParams();
551+
protected abstract FlowParameters getFlowParams();
551552
}
552553

553554
/**
@@ -574,18 +575,17 @@ public ReauthIntentBuilder setReauthReason(String reauthReason) {
574575
@Override
575576
public Intent build() {
576577
if (FirebaseAuth.getInstance(mApp).getCurrentUser() == null) {
577-
throw new IllegalStateException(
578-
"User must be currently logged in to reauthenticate");
578+
throw new IllegalStateException("User must be currently logged in to reauthenticate");
579579
}
580580

581581
return super.build();
582582
}
583583

584584
@Override
585-
public FlowParameters getFlowParams() {
585+
protected FlowParameters getFlowParams() {
586586
return new FlowParameters(
587587
mApp.getName(),
588-
new ArrayList<>(mProviders),
588+
mProviders,
589589
mTheme,
590590
mLogo,
591591
mTosUrl,
@@ -617,15 +617,10 @@ public SignInIntentBuilder setAllowNewEmailAccounts(boolean enabled) {
617617
}
618618

619619
@Override
620-
@VisibleForTesting()
621-
public FlowParameters getFlowParams() {
622-
if (mProviders.isEmpty()) {
623-
mProviders.add(new IdpConfig.Builder(EMAIL_PROVIDER).build());
624-
}
625-
620+
protected FlowParameters getFlowParams() {
626621
return new FlowParameters(
627622
mApp.getName(),
628-
new ArrayList<>(mProviders),
623+
mProviders,
629624
mTheme,
630625
mLogo,
631626
mTosUrl,

auth/src/test/java/com/firebase/ui/auth/AuthUITest.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.firebase.ui.auth.testhelpers.CustomRobolectricGradleTestRunner;
2020
import com.firebase.ui.auth.testhelpers.TestConstants;
2121
import com.firebase.ui.auth.testhelpers.TestHelper;
22+
import com.firebase.ui.auth.ui.ExtraConstants;
2223
import com.firebase.ui.auth.ui.FlowParameters;
2324
import com.google.firebase.FirebaseApp;
2425

@@ -48,7 +49,8 @@ public void testCreateStartIntent_deprecatedSetProvidersShouldStillWork() {
4849
.getInstance(mFirebaseApp)
4950
.createSignInIntentBuilder()
5051
.setProviders(new String[]{AuthUI.EMAIL_PROVIDER, AuthUI.TWITTER_PROVIDER})
51-
.getFlowParams();
52+
.build()
53+
.getParcelableExtra(ExtraConstants.EXTRA_FLOW_PARAMS);
5254
assertEquals(2, flowParameters.providerInfo.size());
5355
assertEquals(AuthUI.EMAIL_PROVIDER, flowParameters.providerInfo.get(0).getProviderId());
5456
}
@@ -58,7 +60,8 @@ public void testCreateStartIntent_shouldHaveEmailAsDefaultProvider() {
5860
FlowParameters flowParameters = AuthUI
5961
.getInstance(mFirebaseApp)
6062
.createSignInIntentBuilder()
61-
.getFlowParams();
63+
.build()
64+
.getParcelableExtra(ExtraConstants.EXTRA_FLOW_PARAMS);
6265
assertEquals(1, flowParameters.providerInfo.size());
6366
assertEquals(AuthUI.EMAIL_PROVIDER, flowParameters.providerInfo.get(0).getProviderId());
6467
}
@@ -79,7 +82,8 @@ public void testCreatingStartIntent() {
7982
new IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
8083
new IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()))
8184
.setTosUrl(TestConstants.TOS_URL)
82-
.getFlowParams();
85+
.build()
86+
.getParcelableExtra(ExtraConstants.EXTRA_FLOW_PARAMS);
8387

8488
assertEquals(3, flowParameters.providerInfo.size());
8589
assertEquals(mFirebaseApp.getName(), flowParameters.appName);

0 commit comments

Comments
 (0)