in app/src/main/java/com/firebase/uidemo/auth/SignedInActivity.java [125:182]
private void populateProfile(@Nullable IdpResponse response) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user.getPhotoUrl() != null) {
GlideApp.with(this)
.load(user.getPhotoUrl())
.fitCenter()
.into(mBinding.userProfilePicture);
}
mBinding.userEmail.setText(
TextUtils.isEmpty(user.getEmail()) ? "No email" : user.getEmail());
mBinding.userPhoneNumber.setText(
TextUtils.isEmpty(user.getPhoneNumber()) ? "No phone number" : user.getPhoneNumber());
mBinding.userDisplayName.setText(
TextUtils.isEmpty(user.getDisplayName()) ? "No display name" : user.getDisplayName());
if (response == null) {
mBinding.userIsNew.setVisibility(View.GONE);
} else {
mBinding.userIsNew.setVisibility(View.VISIBLE);
mBinding.userIsNew.setText(response.isNewUser() ? "New user" : "Existing user");
}
List<String> providers = new ArrayList<>();
if (user.getProviderData().isEmpty()) {
providers.add(getString(R.string.providers_anonymous));
} else {
for (UserInfo info : user.getProviderData()) {
switch (info.getProviderId()) {
case GoogleAuthProvider.PROVIDER_ID:
providers.add(getString(R.string.providers_google));
break;
case FacebookAuthProvider.PROVIDER_ID:
providers.add(getString(R.string.providers_facebook));
break;
case TwitterAuthProvider.PROVIDER_ID:
providers.add(getString(R.string.providers_twitter));
break;
case EmailAuthProvider.PROVIDER_ID:
providers.add(getString(R.string.providers_email));
break;
case PhoneAuthProvider.PROVIDER_ID:
providers.add(getString(R.string.providers_phone));
break;
case EMAIL_LINK_PROVIDER:
providers.add(getString(R.string.providers_email_link));
break;
case FirebaseAuthProvider.PROVIDER_ID:
// Ignore this provider, it's not very meaningful
break;
default:
providers.add(info.getProviderId());
}
}
}
mBinding.userEnabledProviders.setText(getString(R.string.used_providers, providers));
}