use of com.firebase.ui.auth.AuthUI.IdpConfig in project FirebaseUI-Android by firebase.
the class WelcomeBackIdpPrompt method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_back_idp_prompt_layout);
IdpResponse newUserIdpResponse = IdpResponse.fromResultIntent(getIntent());
mPrevCredential = AuthCredentialHelper.getAuthCredential(newUserIdpResponse);
User oldUser = User.getUser(getIntent());
String providerId = oldUser.getProvider();
for (IdpConfig idpConfig : mActivityHelper.getFlowParams().providerInfo) {
if (providerId.equals(idpConfig.getProviderId())) {
switch(providerId) {
case GoogleAuthProvider.PROVIDER_ID:
mIdpProvider = new GoogleProvider(this, idpConfig, oldUser.getEmail());
break;
case FacebookAuthProvider.PROVIDER_ID:
mIdpProvider = new FacebookProvider(this, idpConfig, mActivityHelper.getFlowParams().themeId);
break;
case TwitterAuthProvider.PROVIDER_ID:
mIdpProvider = new TwitterProvider(this);
break;
default:
Log.w(TAG, "Unknown provider: " + providerId);
finish(ResultCodes.CANCELED, IdpResponse.getErrorCodeIntent(ErrorCodes.UNKNOWN_ERROR));
return;
}
}
}
if (mIdpProvider == null) {
Log.w(TAG, "Firebase login unsuccessful." + " Account linking failed due to provider not enabled by application: " + providerId);
finish(ResultCodes.CANCELED, IdpResponse.getErrorCodeIntent(ErrorCodes.UNKNOWN_ERROR));
return;
}
((TextView) findViewById(R.id.welcome_back_idp_prompt)).setText(getIdpPromptString(oldUser.getEmail()));
mIdpProvider.setAuthenticationCallback(this);
findViewById(R.id.welcome_back_idp_button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
mActivityHelper.showLoadingDialog(R.string.progress_dialog_signing_in);
mIdpProvider.startLogin(WelcomeBackIdpPrompt.this);
}
});
}
use of com.firebase.ui.auth.AuthUI.IdpConfig in project FirebaseUI-Android by firebase.
the class AuthMethodPickerActivity method populateIdpList.
private void populateIdpList(List<IdpConfig> providers) {
mIdpProviders = new ArrayList<>();
for (IdpConfig idpConfig : providers) {
switch(idpConfig.getProviderId()) {
case AuthUI.GOOGLE_PROVIDER:
mIdpProviders.add(new GoogleProvider(this, idpConfig));
break;
case AuthUI.FACEBOOK_PROVIDER:
mIdpProviders.add(new FacebookProvider(this, idpConfig, mActivityHelper.getFlowParams().themeId));
break;
case AuthUI.TWITTER_PROVIDER:
mIdpProviders.add(new TwitterProvider(this));
break;
case AuthUI.EMAIL_PROVIDER:
findViewById(R.id.email_provider).setVisibility(View.VISIBLE);
break;
default:
Log.e(TAG, "Encountered unknown IDPProvider parcel with type: " + idpConfig.getProviderId());
}
}
ViewGroup btnHolder = (ViewGroup) findViewById(R.id.btn_holder);
for (final IdpProvider provider : mIdpProviders) {
View loginButton = null;
switch(provider.getProviderId()) {
case GoogleAuthProvider.PROVIDER_ID:
loginButton = getLayoutInflater().inflate(R.layout.idp_button_google, btnHolder, false);
break;
case FacebookAuthProvider.PROVIDER_ID:
loginButton = getLayoutInflater().inflate(R.layout.idp_button_facebook, btnHolder, false);
break;
case TwitterAuthProvider.PROVIDER_ID:
loginButton = getLayoutInflater().inflate(R.layout.idp_button_twitter, btnHolder, false);
break;
default:
Log.e(TAG, "No button for provider " + provider.getProviderId());
}
if (loginButton != null) {
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mActivityHelper.showLoadingDialog(R.string.progress_dialog_loading);
provider.startLogin(AuthMethodPickerActivity.this);
}
});
provider.setAuthenticationCallback(this);
btnHolder.addView(loginButton, 0);
}
}
}
Aggregations