in auth/app/src/main/java/com/google/firebase/quickstart/auth/java/MultiFactorFragment.java [176:220]
private void updateUI(FirebaseUser user) {
hideProgressBar();
if (user != null) {
mBinding.status.setText(getString(R.string.emailpassword_status_fmt,
user.getEmail(), user.isEmailVerified()));
mBinding.detail.setText(getString(R.string.firebase_status_fmt, user.getUid()));
List<MultiFactorInfo> secondFactors = user.getMultiFactor().getEnrolledFactors();
if (secondFactors.isEmpty()) {
mBinding.unenrollMfa.setVisibility(View.GONE);
} else {
mBinding.unenrollMfa.setVisibility(View.VISIBLE);
StringBuilder sb = new StringBuilder("Second Factors: ");
String delimiter = ", ";
for (MultiFactorInfo x : secondFactors) {
sb.append(((PhoneMultiFactorInfo) x).getPhoneNumber() + delimiter);
}
sb.setLength(sb.length() - delimiter.length());
mBinding.mfaInfo.setText(sb.toString());
}
mBinding.emailSignInButton.setVisibility(View.GONE);
mBinding.signedInButtons.setVisibility(View.VISIBLE);
int reloadVisibility = secondFactors.isEmpty() ? View.VISIBLE : View.GONE;
mBinding.reloadButton.setVisibility(reloadVisibility);
if (user.isEmailVerified()) {
mBinding.verifyEmailButton.setVisibility(View.GONE);
mBinding.enrollMfa.setVisibility(View.VISIBLE);
} else {
mBinding.verifyEmailButton.setVisibility(View.VISIBLE);
mBinding.enrollMfa.setVisibility(View.GONE);
}
} else {
mBinding.status.setText(R.string.multi_factor_signed_out);
mBinding.detail.setText(null);
mBinding.mfaInfo.setText(null);
mBinding.emailSignInButton.setVisibility(View.VISIBLE);
mBinding.signedInButtons.setVisibility(View.GONE);
}
}