import
androidx.annotation.NonNull;
import
androidx.appcompat.app.AppCompatActivity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.util.Log;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.Toast;
import
com.google.android.gms.tasks.OnCompleteListener;
import
com.google.android.gms.tasks.Task;
import
com.google.firebase.auth.AuthCredential;
import
com.google.firebase.auth.EmailAuthProvider;
import
com.google.firebase.auth.FirebaseAuth;
import
com.google.firebase.auth.FirebaseUser;
public
class
ChangeEmail
extends
AppCompatActivity {
FirebaseAuth auth;
Button changeemail;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_email);
final
EditText email = findViewById(R.id.email);
final
EditText password = findViewById(R.id.logpass);
changeemail = findViewById(R.id.changeemail);
changeemail.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
changeemail(email.getText().toString(), password.getText().toString());
}
});
}
EditText change;
private
void
changeemail(String email,
final
String password) {
change = findViewById(R.id.change);
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
AuthCredential credential = EmailAuthProvider.getCredential(email, password);
user.reauthenticate(credential).addOnCompleteListener(
new
OnCompleteListener<Void>() {
@Override
public
void
onComplete(
@NonNull
Task<Void> task) {
Log.d(
"value"
,
"User re-authenticated."
);
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
user.updateEmail(change.getText().toString()).addOnCompleteListener(
new
OnCompleteListener<Void>() {
@Override
public
void
onComplete(
@NonNull
Task<Void> task) {
if
(task.isSuccessful()) {
Toast.makeText(ChangeEmail.
this
,
"Email Changed"
+
" Current Email is "
+ change.getText().toString(), Toast.LENGTH_LONG).show();
}
}
});
}
});
}
}