|
21 | 21 | import com.firebase.ui.auth.util.data.PrivacyDisclosureUtils;
|
22 | 22 | import com.firebase.ui.auth.util.ui.ImeHelper;
|
23 | 23 | import com.firebase.ui.auth.util.ui.fieldvalidators.EmailFieldValidator;
|
24 |
| -import com.google.android.material.snackbar.Snackbar; |
25 | 24 | import com.google.android.material.textfield.TextInputLayout;
|
26 | 25 | import com.google.firebase.auth.EmailAuthProvider;
|
27 | 26 |
|
|
31 | 30 | import androidx.fragment.app.FragmentActivity;
|
32 | 31 | import androidx.lifecycle.ViewModelProvider;
|
33 | 32 |
|
34 |
| -import static com.firebase.ui.auth.AuthUI.EMAIL_LINK_PROVIDER; |
35 |
| - |
36 | 33 | /**
|
37 | 34 | * Fragment that shows a form with an email field and checks for existing accounts with that email.
|
38 | 35 | * <p>
|
@@ -95,8 +92,8 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
|
95 | 92 | mSignInButton.setOnClickListener(this);
|
96 | 93 | mSignUpButton.setOnClickListener(this);
|
97 | 94 |
|
98 |
| - // Hide sign up button for email link authentication |
99 |
| - if (getEmailProvider().equals(EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD)) { |
| 95 | + // Hide sign up button for email link authentication or if explicitly disabled. |
| 96 | + if (getEmailProvider().equals(EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD) || hideSignUpButton()) { |
100 | 97 | mSignUpButton.setVisibility(View.GONE);
|
101 | 98 | }
|
102 | 99 |
|
@@ -165,6 +162,15 @@ public void onDonePressed() {
|
165 | 162 | signIn();
|
166 | 163 | }
|
167 | 164 |
|
| 165 | + private Boolean hideSignUpButton() { |
| 166 | + for (AuthUI.IdpConfig config : getFlowParams().providers) { |
| 167 | + if (EmailAuthProvider.EMAIL_PASSWORD_SIGN_IN_METHOD.equals(config.getProviderId())) { |
| 168 | + return config.getParams().containsKey(ExtraConstants.HIDE_EMAIL_SIGN_UP); |
| 169 | + } |
| 170 | + } |
| 171 | + return false; |
| 172 | + } |
| 173 | + |
168 | 174 | private String getEmailProvider() {
|
169 | 175 | // Iterate through all IdpConfig entries
|
170 | 176 | for (AuthUI.IdpConfig config : getFlowParams().providers) {
|
|
0 commit comments