Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions auth/src/main/java/com/firebase/ui/auth/AuthUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,17 @@ public EmailBuilder setAllowNewAccounts(boolean allow) {
return this;
}

/**
* Hide the email sign-up button in the authentication flow.
* <p>
* Email sign-in is enabled by default.
*/
@NonNull
public EmailBuilder hideEmailSignUp() {
getParams().putBoolean(ExtraConstants.HIDE_EMAIL_SIGN_UP, true);
return this;
}

/**
* Configures the requirement for the user to enter first and last name in the email
* sign up flow.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.firebase.ui.auth.util.data.PrivacyDisclosureUtils;
import com.firebase.ui.auth.util.ui.ImeHelper;
import com.firebase.ui.auth.util.ui.fieldvalidators.EmailFieldValidator;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textfield.TextInputLayout;
import com.google.firebase.auth.EmailAuthProvider;

Expand All @@ -31,8 +30,6 @@
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProvider;

import static com.firebase.ui.auth.AuthUI.EMAIL_LINK_PROVIDER;

/**
* Fragment that shows a form with an email field and checks for existing accounts with that email.
* <p>
Expand Down Expand Up @@ -95,8 +92,8 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
mSignInButton.setOnClickListener(this);
mSignUpButton.setOnClickListener(this);

// Hide sign up button for email link authentication
if (getEmailProvider().equals(EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD)) {
// Hide sign up button for email link authentication or if explicitly disabled.
if (getEmailProvider().equals(EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD) || hideSignUpButton()) {
mSignUpButton.setVisibility(View.GONE);
}

Expand Down Expand Up @@ -165,6 +162,15 @@ public void onDonePressed() {
signIn();
}

private Boolean hideSignUpButton() {
for (AuthUI.IdpConfig config : getFlowParams().providers) {
if (EmailAuthProvider.EMAIL_PASSWORD_SIGN_IN_METHOD.equals(config.getProviderId())) {
return config.getParams().containsKey(ExtraConstants.HIDE_EMAIL_SIGN_UP);
}
}
return false;
}

private String getEmailProvider() {
// Iterate through all IdpConfig entries
for (AuthUI.IdpConfig config : getFlowParams().providers) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public final class ExtraConstants {
public static final String PASSWORD = "extra_password";
public static final String DEFAULT_EMAIL = "extra_default_email";
public static final String ALLOW_NEW_EMAILS = "extra_allow_new_emails";
public static final String HIDE_EMAIL_SIGN_UP = "extra_hide_email_sign_up";
public static final String REQUIRE_NAME = "extra_require_name";
public static final String GOOGLE_SIGN_IN_OPTIONS = "extra_google_sign_in_options";
public static final String FACEBOOK_PERMISSIONS = "extra_facebook_permissions";
Expand Down