From 1fd0149b2ee282b83e8382ffce17d375b8cc494f Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Tue, 3 Nov 2020 15:26:27 -0800 Subject: [PATCH 1/3] Email gets sent after deleting account --- .../com/example/listify/ui/home/HomeFragment.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java b/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java index 13ddebe..d7bac2c 100644 --- a/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java +++ b/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java @@ -11,6 +11,7 @@ import android.widget.Button; import android.view.ViewGroup; import android.view.LayoutInflater; import android.widget.EditText; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; @@ -21,6 +22,7 @@ import com.example.listify.AuthManager; import com.example.listify.MainActivity; import com.example.listify.R; import com.example.listify.Requestor; +import com.example.listify.ui.ForgotPasswordPage; import com.example.listify.ui.LoginPage; import org.json.JSONException; @@ -57,6 +59,16 @@ public class HomeFragment extends Fragment { e.printStackTrace(); } Requestor requestor = new Requestor(am, configs.getProperty("apiKey")); + + try { + am.changePassword(am.getEmail()); + } + catch (Exception e) {} + try { + am.confirmPasswordReset("", ""); + } + catch (Exception e) {} + am.deleteUser(requestor); Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); startActivity(intent); From 56cd59351fb9120a83ed3a93f8db6c371b68ccae Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Tue, 3 Nov 2020 16:25:58 -0800 Subject: [PATCH 2/3] Added shared button back to shopping list page --- .../java/com/example/listify/ListPage.java | 6 +++--- .../example/listify/ui/home/HomeFragment.java | 21 +++++++++++++++++-- .../app/src/main/res/layout/activity_list.xml | 8 +++---- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Listify/app/src/main/java/com/example/listify/ListPage.java b/Listify/app/src/main/java/com/example/listify/ListPage.java index 6f719d7..67f894e 100644 --- a/Listify/app/src/main/java/com/example/listify/ListPage.java +++ b/Listify/app/src/main/java/com/example/listify/ListPage.java @@ -42,7 +42,7 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver { Button decrQuan; Button removeItem; Button clearAll; - //Button shareList; + Button shareList; TextView tvTotalPrice; ProgressBar loadingListItems; @@ -109,7 +109,7 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver { } }); - /*shareList = (Button) findViewById(R.id.buttonShare); + shareList = (Button) findViewById(R.id.buttonShare); shareList.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -139,7 +139,7 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver { AlertDialog dialog = builder.create(); dialog.show(); } - });*/ + }); } @Override diff --git a/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java b/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java index d7bac2c..7375918 100644 --- a/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java +++ b/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java @@ -3,6 +3,7 @@ package com.example.listify.ui.home; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.View; @@ -64,10 +65,26 @@ public class HomeFragment extends Fragment { am.changePassword(am.getEmail()); } catch (Exception e) {} - try { + /*try { am.confirmPasswordReset("", ""); } - catch (Exception e) {} + + String[] TO = {am.getEmail()}; + Intent emailIntent = new Intent(Intent.ACTION_SEND); + emailIntent.setData(Uri.parse("mailto:")); + emailIntent.setType("text/plain"); + emailIntent.putExtra(Intent.EXTRA_EMAIL, TO); + emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Listify account deleted"); + emailIntent.putExtra(Intent.EXTRA_TEXT, "Hello, this email is to confirm that you have deleted your Listify account."); + try { + startActivity(Intent.createChooser(emailIntent, "Send mail...")); + getActivity().finish(); + Log.i("Finished sending email...", ""); + System.out.println("A"); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("B"); + }*/ am.deleteUser(requestor); Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); diff --git a/Listify/app/src/main/res/layout/activity_list.xml b/Listify/app/src/main/res/layout/activity_list.xml index 3b3427a..94d1b61 100644 --- a/Listify/app/src/main/res/layout/activity_list.xml +++ b/Listify/app/src/main/res/layout/activity_list.xml @@ -26,14 +26,14 @@ android:text="Clear All" android:textSize="10sp"/> - + android:textSize="10sp"/> From 901af2d1cf8d0a30a953eb5e5c56854402c7db3f Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Tue, 3 Nov 2020 19:17:09 -0800 Subject: [PATCH 3/3] User (truly) can no longer reaccess login-required pages through the back button v.2 --- .../java/com/example/listify/AuthManager.java | 5 +++++ .../com/example/listify/MainActivity.java | 11 +++++++++-- .../com/example/listify/SplashActivity.java | 5 ++++- .../listify/ui/ForgotPasswordPage.java | 18 ++++++++++++------ .../com/example/listify/ui/LoginPage.java | 19 +++++++++++++------ .../com/example/listify/ui/SignupPage.java | 19 +++++++++++++------ .../example/listify/ui/home/HomeFragment.java | 3 +-- 7 files changed, 57 insertions(+), 23 deletions(-) diff --git a/Listify/app/src/main/java/com/example/listify/AuthManager.java b/Listify/app/src/main/java/com/example/listify/AuthManager.java index 4ece51a..399511c 100644 --- a/Listify/app/src/main/java/com/example/listify/AuthManager.java +++ b/Listify/app/src/main/java/com/example/listify/AuthManager.java @@ -68,6 +68,11 @@ public class AuthManager { return password; } + public void nullify() { + email = null; + password = null; + } + public void setAuthSession(AuthSession toSet) { authSession = (AWSCognitoAuthSession) toSet; waiting = false; diff --git a/Listify/app/src/main/java/com/example/listify/MainActivity.java b/Listify/app/src/main/java/com/example/listify/MainActivity.java index fef669e..90473f1 100644 --- a/Listify/app/src/main/java/com/example/listify/MainActivity.java +++ b/Listify/app/src/main/java/com/example/listify/MainActivity.java @@ -36,6 +36,15 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF private AppBarConfiguration mAppBarConfiguration; public static AuthManager am = new AuthManager(); + @Override + public void onBackPressed() { + String prev = getIntent().getStringExtra("prev"); + + if (prev == null) { + super.onBackPressed(); + } + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -48,7 +57,6 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF public void run() { Intent intent = new Intent(MainActivity.this, SplashActivity.class); startActivity(intent); - finish(); } }, 1); } @@ -198,7 +206,6 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF am.signOutUser(); Intent intent = new Intent(MainActivity.this, com.example.listify.ui.LoginPage.class); startActivity(intent); - finish(); } catch (Exception e) { Log.i("Authentication", e.toString()); diff --git a/Listify/app/src/main/java/com/example/listify/SplashActivity.java b/Listify/app/src/main/java/com/example/listify/SplashActivity.java index a5d9c2a..545c443 100644 --- a/Listify/app/src/main/java/com/example/listify/SplashActivity.java +++ b/Listify/app/src/main/java/com/example/listify/SplashActivity.java @@ -10,6 +10,9 @@ import androidx.appcompat.app.AppCompatActivity; public class SplashActivity extends AppCompatActivity { public static boolean showSplash = true; + @Override + public void onBackPressed() {} + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -20,8 +23,8 @@ public class SplashActivity extends AppCompatActivity { public void run() { showSplash = false; Intent intent = new Intent(SplashActivity.this, MainActivity.class); + intent.putExtra("prev", "Splash"); startActivity(intent); - finish(); } }, 3000); } diff --git a/Listify/app/src/main/java/com/example/listify/ui/ForgotPasswordPage.java b/Listify/app/src/main/java/com/example/listify/ui/ForgotPasswordPage.java index fe59b9c..fee31e1 100644 --- a/Listify/app/src/main/java/com/example/listify/ui/ForgotPasswordPage.java +++ b/Listify/app/src/main/java/com/example/listify/ui/ForgotPasswordPage.java @@ -23,16 +23,20 @@ public class ForgotPasswordPage extends AppCompatActivity { String newPassword; String confirmNewPassword; + @Override + public void onBackPressed() { + String prev = getIntent().getStringExtra("prev"); + + if (prev != null && (prev.equals("Sign up") || prev.equals("Log in"))) { + super.onBackPressed(); + } + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_forgotpswd); - if(am.getEmail() != null) { - Intent intent = new Intent(ForgotPasswordPage.this, MainActivity.class); - startActivity(intent); - } - button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override @@ -55,6 +59,7 @@ public class ForgotPasswordPage extends AppCompatActivity { am.changePassword(email); } catch (Exception e) { + am.nullify(); Log.i("Authentication", e.toString()); TextView invalidCred = findViewById(R.id.textView6); invalidCred.setText("Password criteria not met. Please try again."); @@ -74,10 +79,11 @@ public class ForgotPasswordPage extends AppCompatActivity { try { am.confirmPasswordReset(newPassword, code); Intent intent = new Intent(ForgotPasswordPage.this, LoginPage.class); + intent.putExtra("prev", "Forgot password"); startActivity(intent); - finish(); } catch (Exception e) { + am.nullify(); Log.i("Authentication", e.toString()); } } diff --git a/Listify/app/src/main/java/com/example/listify/ui/LoginPage.java b/Listify/app/src/main/java/com/example/listify/ui/LoginPage.java index 3754b52..c1d18a7 100644 --- a/Listify/app/src/main/java/com/example/listify/ui/LoginPage.java +++ b/Listify/app/src/main/java/com/example/listify/ui/LoginPage.java @@ -20,21 +20,26 @@ public class LoginPage extends AppCompatActivity { private Button button2; //Forgot password button private Button button3; //Log in button + @Override + public void onBackPressed() { + String prev = getIntent().getStringExtra("prev"); + + if (prev != null && (prev.equals("Sign up") || prev.equals("Forgot password"))) { + super.onBackPressed(); + } + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); - if(am.getEmail() != null) { - Intent intent = new Intent(LoginPage.this, MainActivity.class); - startActivity(intent); - } - button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(LoginPage.this, SignupPage.class); + intent.putExtra("prev", "Log in"); startActivity(intent); } }); @@ -44,6 +49,7 @@ public class LoginPage extends AppCompatActivity { @Override public void onClick(View v) { Intent intent = new Intent(LoginPage.this, ForgotPasswordPage.class); + intent.putExtra("prev", "Log in"); startActivity(intent); } }); @@ -61,10 +67,11 @@ public class LoginPage extends AppCompatActivity { try { am.signIn(email, password); Intent intent = new Intent(LoginPage.this, MainActivity.class); + intent.putExtra("prev", "Login"); startActivity(intent); - finish(); } catch(Exception e) { + am.nullify(); Log.i("Authentication", e.toString()); TextView invalidCred = findViewById(R.id.textView5); invalidCred.setText("Incorrect email or password. Please try again."); diff --git a/Listify/app/src/main/java/com/example/listify/ui/SignupPage.java b/Listify/app/src/main/java/com/example/listify/ui/SignupPage.java index 6e1eaeb..a3c2966 100644 --- a/Listify/app/src/main/java/com/example/listify/ui/SignupPage.java +++ b/Listify/app/src/main/java/com/example/listify/ui/SignupPage.java @@ -32,21 +32,26 @@ public class SignupPage extends AppCompatActivity { String password; String confirmPassword; + @Override + public void onBackPressed() { + String prev = getIntent().getStringExtra("prev"); + + if (prev != null && (prev.equals("Log in") || prev.equals("Forgot password"))) { + super.onBackPressed(); + } + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); - if(am.getEmail() != null) { - Intent intent = new Intent(SignupPage.this, MainActivity.class); - startActivity(intent); - } - button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(SignupPage.this, LoginPage.class); + intent.putExtra("prev", "Sign up"); startActivity(intent); } }); @@ -73,6 +78,7 @@ public class SignupPage extends AppCompatActivity { am.startSignUp(email, password); } catch (Exception e) { + am.nullify(); Log.i("Authentication", e.toString()); TextView invalidCred = findViewById(R.id.textView3); invalidCred.setText("Invalid credentials. Please try again."); @@ -93,10 +99,11 @@ public class SignupPage extends AppCompatActivity { am.confirmSignUp(code); am.signIn(email, password); Intent intent = new Intent(SignupPage.this, MainActivity.class); + intent.putExtra("prev", "Sign up"); startActivity(intent); - finish(); } catch (Exception e) { + am.nullify(); Log.i("Authentication", e.toString()); } } diff --git a/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java b/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java index 7375918..9fccc5b 100644 --- a/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java +++ b/Listify/app/src/main/java/com/example/listify/ui/home/HomeFragment.java @@ -78,7 +78,6 @@ public class HomeFragment extends Fragment { emailIntent.putExtra(Intent.EXTRA_TEXT, "Hello, this email is to confirm that you have deleted your Listify account."); try { startActivity(Intent.createChooser(emailIntent, "Send mail...")); - getActivity().finish(); Log.i("Finished sending email...", ""); System.out.println("A"); } catch (Exception e) { @@ -87,9 +86,9 @@ public class HomeFragment extends Fragment { }*/ am.deleteUser(requestor); + am.nullify(); Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); startActivity(intent); - getActivity().finish(); } catch (Exception e) { Log.i("Authentication", e.toString());