Hello i simply want to match 2 fields if they match i want to send 1 of them to firebase. this is for changing password. however im getting error and it goes right away to the else statement: "Something went wrong, password did not get changed". cant understand why.
right now if 2 password does not match im getting the message: both fields much match this part is right
when 2 matches i get something went wrong : thats the else statement for public void oncomplete for firebase. it simply skip if the task is sucsessful and i dont understand why.
public void changePassword(){
String userPasswordNew = newPassword.getText().toString(); // get pw
String userPassword2New = newPassword2.getText().toString();
if (userPasswordNew.equals(userPassword2New)){
if(userPasswordNew.equals("") || userPassword2New.equals("")){
Toast.makeText(ProfilePasswordUpdateActivity.this,"Fields can not be empty", Toast.LENGTH_SHORT).show();
}
else {
firebaseUser.updatePassword(userPasswordNew).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(ProfilePasswordUpdateActivity.this,"Password changed",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(ProfilePasswordUpdateActivity.this,"Something went wrong, password did not get changed",Toast.LENGTH_LONG).show();
}
}
});
}
}
else{
Toast.makeText(ProfilePasswordUpdateActivity.this,"Both fields much match in order to change password",Toast.LENGTH_LONG).show();
}
}
the xml binding for the inputs
newPassword = findViewById(R.id.EditText_new_password);
newPassword2 = findViewById(R.id.EditText_new_password2);
error
2020-01-15 08:57:44.007 11071-11071/com.example.examapplikation E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.examapplikation, PID: 11071 java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.firebase.auth.FirebaseUser.reauthenticate(com.google.firebase.auth.AuthCredential)' on a null object reference at com.example.examapplikation.ProfilePasswordUpdateActivity.changePassword(ProfilePasswordUpdateActivity.java:66) at com.example.examapplikation.ProfilePasswordUpdateActivity$1.onClick(ProfilePasswordUpdateActivity.java:50) at android.view.View.performClick(View.java:6597) at android.view.View.performClickInternal(View.java:6574) at android.view.View.access$3100(View.java:778) at android.view.View$PerformClick.run(View.java:25885) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)