in auth/app/src/main/java/com/google/firebase/quickstart/auth/java/MultiFactorUnenrollFragment.java [36:86]
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mBinding.smsCode.setVisibility(View.GONE);
mBinding.finishMfaSignIn.setVisibility(View.GONE);
List<Button> phoneFactorButtonList = new ArrayList<>();
phoneFactorButtonList.add(mBinding.phoneFactor1);
phoneFactorButtonList.add(mBinding.phoneFactor2);
phoneFactorButtonList.add(mBinding.phoneFactor3);
phoneFactorButtonList.add(mBinding.phoneFactor4);
phoneFactorButtonList.add(mBinding.phoneFactor5);
for (Button button : phoneFactorButtonList) {
button.setVisibility(View.GONE);
}
List<MultiFactorInfo> multiFactorInfoList =
FirebaseAuth.getInstance().getCurrentUser().getMultiFactor().getEnrolledFactors();
for (int i = 0; i < multiFactorInfoList.size(); ++i) {
PhoneMultiFactorInfo phoneMultiFactorInfo = (PhoneMultiFactorInfo) multiFactorInfoList.get(i);
Button button = phoneFactorButtonList.get(i);
button.setVisibility(View.VISIBLE);
button.setText(phoneMultiFactorInfo.getPhoneNumber());
button.setClickable(true);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FirebaseAuth.getInstance()
.getCurrentUser()
.getMultiFactor()
.unenroll(phoneMultiFactorInfo)
.addOnCompleteListener(
new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(getContext(),
"Successfully unenrolled!", Toast.LENGTH_SHORT).show();
NavHostFragment.findNavController(MultiFactorUnenrollFragment.this)
.popBackStack();
} else {
Toast.makeText(getContext(),
"Unable to unenroll second factor. " + task.getException(), Toast.LENGTH_SHORT).show();
}
}
});
}
});
}
}