Finished with adding an extra security step to the delete account process

This commit is contained in:
Aaron Sun 2020-10-20 23:37:27 -07:00
parent e1c670fed0
commit a3ed7ba8d9
2 changed files with 43 additions and 12 deletions

View File

@ -60,6 +60,10 @@ public class AuthManager {
return authSession.getUserPoolTokens().getValue().getIdToken(); return authSession.getUserPoolTokens().getValue().getIdToken();
} }
public String getPassword() {
return password;
}
public void setAuthSession(AuthSession toSet) { public void setAuthSession(AuthSession toSet) {
authSession = (AWSCognitoAuthSession) toSet; authSession = (AWSCognitoAuthSession) toSet;
waiting = false; waiting = false;

View File

@ -1,5 +1,7 @@
package com.example.listify.ui.home; package com.example.listify.ui.home;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
@ -8,6 +10,8 @@ import android.widget.Button;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.widget.EditText;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -44,6 +48,17 @@ public class HomeFragment extends Fragment {
toDeleteAccountPage.setOnClickListener(new View.OnClickListener() { toDeleteAccountPage.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
View passwordView = getLayoutInflater().inflate(R.layout.activity_code, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(passwordView);
builder.setTitle("Account deletion verification");
builder.setMessage("Are you sure you want to delete your account? If so, enter your password below and hit \"Yes\".");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EditText passwordText = (EditText) passwordView.findViewById(R.id.editTextCode);
String password = passwordText.getText().toString();
if(password.equals(am.getPassword())) {
try { try {
Properties configs = new Properties(); Properties configs = new Properties();
try { try {
@ -58,6 +73,18 @@ public class HomeFragment extends Fragment {
Log.i("Authentication", e.toString()); Log.i("Authentication", e.toString());
} }
} }
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
return;
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
}); });
return root; return root;