diff --git a/app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java b/app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java index 668a11b0e..7dd027952 100644 --- a/app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java +++ b/app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java @@ -33,6 +33,7 @@ import android.widget.RadioButton; import android.widget.TextView; +import com.firebase.ui.auth.AuthMethodPickerLayout; import com.firebase.ui.auth.AuthUI; import com.firebase.ui.auth.AuthUI.IdpConfig; import com.firebase.ui.auth.ErrorCodes; @@ -48,6 +49,7 @@ import com.google.firebase.auth.FirebaseAuth; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -258,6 +260,32 @@ public Intent buildSignInIntent(@Nullable String link) { return builder.build(); } + @OnClick(R.id.customised_sign_in) + public void signInCustomLayout() { + AuthMethodPickerLayout customLayout = new AuthMethodPickerLayout + .Builder(R.layout.auth_method_picker_custom_layout) + .setupGoogleButtonId(R.id.custom_google_signin_button) + .setupEmailButtonId(R.id.custom_email_signin_clickable_text) + .build(); + + //For now we only test Google and Email + List availableProviders = Arrays.asList( + new AuthUI.IdpConfig.GoogleBuilder() + .setScopes(getGoogleScopes()) + .build(), + new IdpConfig.EmailBuilder() + .setRequireName(mRequireName.isChecked()) + .setAllowNewAccounts(mAllowNewEmailAccounts.isChecked()) + .build()); + + startActivityForResult( + AuthUI.getInstance().createSignInIntentBuilder() + .setAvailableProviders(availableProviders) + .setAuthMethodPickerLayout(customLayout) + .build(), + RC_SIGN_IN); + } + @OnClick(R.id.sign_in_silent) public void silentSignIn() { AuthUI.getInstance().silentSignIn(this, getSelectedProviders()) diff --git a/app/src/main/res/layout/auth_method_picker_custom_layout.xml b/app/src/main/res/layout/auth_method_picker_custom_layout.xml new file mode 100644 index 000000000..6e3ac625a --- /dev/null +++ b/app/src/main/res/layout/auth_method_picker_custom_layout.xml @@ -0,0 +1,57 @@ + + + + + + + + + +