Ich arbeite an meiner firebase-Anwendung und ich brauche etwas Hilfe mit der Logik, weil es derzeit nicht wie vorgesehen funktioniert.Firebase ändern "DisplayName" nur, wenn das Passwort korrekt ist
Ich versuche es so zu machen, dass ein eingeloggter Benutzer seinen Namen nur ändern kann, wenn er das richtige Passwort eingibt.
Mit meinem aktuellen Code ändert es den Namen trotz der Toast-Nachricht, dass das eingegebene Passwort nicht korrekt war.
/**
* Update Name Only
*/
private void updateDisplayNameOnly(){
showProgress();
AuthCredential credential = EmailAuthProvider
.getCredential(FirebaseAuth.getInstance().getCurrentUser().getEmail(), mConfirm.getText().toString());
FirebaseAuth.getInstance().getCurrentUser().reauthenticate(credential)
.addOnCompleteListener(new OnCompleteListener<Void>()
{
@Override
public void onComplete(@NonNull Task<Void> task)
{
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
UserProfileChangeRequest profileUpdate = new UserProfileChangeRequest.Builder()
.setDisplayName(mName.getText().toString())
//.setPhotoUri(Uri.parse("https://avatarfiles.alphacoders.com/862/86285.jpg"))
.build();
user.updateProfile(profileUpdate);
if (task.isSuccessful())
{
Log.d(TAG, "onComplete: User Profile updated");
hideProgress();
Toast.makeText(getActivity(), "NAME IS UPDATED XD XD XD", Toast.LENGTH_SHORT).show();
// RESTART APP FOR CHANGES
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
hideProgress();
Toast.makeText(getActivity(), "NAME WAS NOT UPDATED 2", Toast.LENGTH_SHORT).show();
}
});
}
Bitte helfen Sie mir mit diesem