in auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java [184:222]
private void populateIdpList(List<IdpConfig> providerConfigs) {
ViewModelProvider supplier = new ViewModelProvider(this);
mProviders = new ArrayList<>();
for (IdpConfig idpConfig : providerConfigs) {
@LayoutRes int buttonLayout;
final String providerId = idpConfig.getProviderId();
switch (providerId) {
case GoogleAuthProvider.PROVIDER_ID:
buttonLayout = R.layout.fui_idp_button_google;
break;
case FacebookAuthProvider.PROVIDER_ID:
buttonLayout = R.layout.fui_idp_button_facebook;
break;
case EMAIL_LINK_PROVIDER:
case EmailAuthProvider.PROVIDER_ID:
buttonLayout = R.layout.fui_provider_button_email;
break;
case PhoneAuthProvider.PROVIDER_ID:
buttonLayout = R.layout.fui_provider_button_phone;
break;
case AuthUI.ANONYMOUS_PROVIDER:
buttonLayout = R.layout.fui_provider_button_anonymous;
break;
default:
if (!TextUtils.isEmpty(
idpConfig.getParams().getString(GENERIC_OAUTH_PROVIDER_ID))) {
buttonLayout = idpConfig.getParams().getInt(GENERIC_OAUTH_BUTTON_ID);
break;
}
throw new IllegalStateException("Unknown provider: " + providerId);
}
View loginButton = getLayoutInflater().inflate(buttonLayout, mProviderHolder, false);
handleSignInOperation(idpConfig, loginButton);
mProviderHolder.addView(loginButton);
}
}