From 8dd2f33b422e12f4a50dfd9158e580eb0e1dee99 Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Wed, 21 Oct 2020 11:52:20 -0700 Subject: [PATCH 1/4] App directs user to Login page if not logged in --- .../app/src/main/java/com/example/listify/AuthManager.java | 4 ++++ .../app/src/main/java/com/example/listify/MainActivity.java | 6 ++++++ .../src/main/java/com/example/listify/ui/SignupPage.java | 2 +- .../main/java/com/example/listify/ui/home/HomeFragment.java | 3 +++ Listify/app/src/main/res/layout/activity_code.xml | 4 ++-- Listify/app/src/main/res/layout/activity_signup.xml | 2 +- 6 files changed, 17 insertions(+), 4 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 74096fe..bc3164c 100644 --- a/Listify/app/src/main/java/com/example/listify/AuthManager.java +++ b/Listify/app/src/main/java/com/example/listify/AuthManager.java @@ -60,6 +60,10 @@ public class AuthManager { return authSession.getUserPoolTokens().getValue().getIdToken(); } + public String getEmail() { + return email; + } + public String getPassword() { return password; } 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 d56bbee..d18c4f1 100644 --- a/Listify/app/src/main/java/com/example/listify/MainActivity.java +++ b/Listify/app/src/main/java/com/example/listify/MainActivity.java @@ -21,6 +21,7 @@ import com.example.listify.data.Item; import com.example.listify.data.ItemSearch; import com.example.listify.data.List; import com.example.listify.data.ListEntry; +import com.example.listify.ui.LoginPage; import com.google.android.material.navigation.NavigationView; import static com.example.listify.SplashActivity.showSplash; @@ -52,6 +53,11 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF }, 1); } + if(am.getEmail() == null) { + Intent intent = new Intent(MainActivity.this, LoginPage.class); + startActivity(intent); + } + //------------------------------Auth Testing---------------------------------------------// 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 c3a691a..a35e678 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 @@ -76,7 +76,7 @@ public class SignupPage extends AppCompatActivity implements CodePage.CodeDialog if(!cancel) { try { am.confirmSignUp(code); - Intent intent = new Intent(SignupPage.this, MainActivity.class); + Intent intent = new Intent(SignupPage.this, LoginPage.class); startActivity(intent); } catch (Exception e) { 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 5565af8..fcca309 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 @@ -68,6 +68,9 @@ public class HomeFragment extends Fragment { } Requestor requestor = new Requestor(am, configs.getProperty("apiKey")); am.deleteUser(requestor); + + Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); + startActivity(intent); } catch (Exception e) { Log.i("Authentication", e.toString()); diff --git a/Listify/app/src/main/res/layout/activity_code.xml b/Listify/app/src/main/res/layout/activity_code.xml index 2c06f6a..7b8bd91 100644 --- a/Listify/app/src/main/res/layout/activity_code.xml +++ b/Listify/app/src/main/res/layout/activity_code.xml @@ -11,8 +11,8 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:ems="10" - android:hint="Code" - android:inputType="textPersonName" + android:hint="" + android:inputType="textPassword" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/Listify/app/src/main/res/layout/activity_signup.xml b/Listify/app/src/main/res/layout/activity_signup.xml index 6af1bfd..1671732 100644 --- a/Listify/app/src/main/res/layout/activity_signup.xml +++ b/Listify/app/src/main/res/layout/activity_signup.xml @@ -33,7 +33,7 @@ android:layout_marginTop="23dp" android:ems="10" android:hint="Password" - android:inputType="textPersonName" + android:inputType="textPassword" app:layout_constraintStart_toStartOf="@+id/editTextTextEmailAddress" app:layout_constraintTop_toBottomOf="@+id/editTextTextEmailAddress" /> From fdf27b9e6222282e97d7ce2c00fde1cd9e194a99 Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Wed, 21 Oct 2020 12:22:42 -0700 Subject: [PATCH 2/4] User can now log out and also automatically gets logged in after signing up --- .../java/com/example/listify/ui/SignupPage.java | 13 +++++++++---- .../com/example/listify/ui/home/HomeFragment.java | 7 ++++++- Listify/app/src/main/res/layout/fragment_home.xml | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) 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 a35e678..a5400c7 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 @@ -19,6 +19,10 @@ public class SignupPage extends AppCompatActivity implements CodePage.CodeDialog private Button button1; //Log in page button private Button button2; //Sign up button + String email; + String password; + String confirmPassword; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -41,9 +45,9 @@ public class SignupPage extends AppCompatActivity implements CodePage.CodeDialog EditText passwordText = (EditText) findViewById(R.id.editTextTextPassword); EditText confirmPasswordText = (EditText) findViewById(R.id.editTextTextPassword2); - String email = emailText.getText().toString(); - String password = passwordText.getText().toString(); - String confirmPassword = confirmPasswordText.getText().toString(); + email = emailText.getText().toString(); + password = passwordText.getText().toString(); + confirmPassword = confirmPasswordText.getText().toString(); if(!password.equals(confirmPassword)) { TextView invalidCred = findViewById(R.id.textView3); @@ -76,7 +80,8 @@ public class SignupPage extends AppCompatActivity implements CodePage.CodeDialog if(!cancel) { try { am.confirmSignUp(code); - Intent intent = new Intent(SignupPage.this, LoginPage.class); + am.signIn(email, password); + Intent intent = new Intent(SignupPage.this, MainActivity.class); startActivity(intent); } catch (Exception e) { 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 fcca309..985d430 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 @@ -39,6 +39,12 @@ public class HomeFragment extends Fragment { toLoginPage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + try { + am.signOutUser(); + } + catch (Exception e) { + Log.i("Authentication", e.toString()); + } Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); startActivity(intent); } @@ -68,7 +74,6 @@ public class HomeFragment extends Fragment { } Requestor requestor = new Requestor(am, configs.getProperty("apiKey")); am.deleteUser(requestor); - Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); startActivity(intent); } diff --git a/Listify/app/src/main/res/layout/fragment_home.xml b/Listify/app/src/main/res/layout/fragment_home.xml index ecc63ce..2726aad 100644 --- a/Listify/app/src/main/res/layout/fragment_home.xml +++ b/Listify/app/src/main/res/layout/fragment_home.xml @@ -11,7 +11,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="40dp" - android:text="Log in" + android:text="Log out" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> From 465318eb84f8856aa643bb4dec2578f0ae36387f Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Wed, 21 Oct 2020 14:31:00 -0700 Subject: [PATCH 3/4] Sign out button is now in the hamburger menu --- .../com/example/listify/MainActivity.java | 17 +++++++++++ .../example/listify/ui/home/HomeFragment.java | 18 +----------- .../app/src/main/res/layout/fragment_home.xml | 12 +------- .../main/res/menu/activity_main_drawer.xml | 28 +++++++++++-------- 4 files changed, 35 insertions(+), 40 deletions(-) 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 d18c4f1..ea01bac 100644 --- a/Listify/app/src/main/java/com/example/listify/MainActivity.java +++ b/Listify/app/src/main/java/com/example/listify/MainActivity.java @@ -202,6 +202,23 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF }); } + public void onClickSignout(MenuItem m) { + m.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + try { + am.signOutUser(); + Intent intent = new Intent(MainActivity.this, com.example.listify.ui.LoginPage.class); + startActivity(intent); + } + catch (Exception e) { + Log.i("Authentication", e.toString()); + } + return false; + } + }); + } + @Override public void sendNewListName(String name) { Properties configs = new Properties(); 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 985d430..28178c9 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 @@ -29,28 +29,12 @@ import java.io.IOException; import java.util.Properties; public class HomeFragment extends Fragment { - private Button toLoginPage; private Button toDeleteAccountPage; public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_home, container, false); - toLoginPage = (Button) root.findViewById(R.id.button1); - toLoginPage.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - try { - am.signOutUser(); - } - catch (Exception e) { - Log.i("Authentication", e.toString()); - } - Intent intent = new Intent(getActivity(), com.example.listify.ui.LoginPage.class); - startActivity(intent); - } - }); - - toDeleteAccountPage = (Button) root.findViewById(R.id.button2); + toDeleteAccountPage = (Button) root.findViewById(R.id.button); toDeleteAccountPage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/Listify/app/src/main/res/layout/fragment_home.xml b/Listify/app/src/main/res/layout/fragment_home.xml index 2726aad..a938244 100644 --- a/Listify/app/src/main/res/layout/fragment_home.xml +++ b/Listify/app/src/main/res/layout/fragment_home.xml @@ -7,17 +7,7 @@ tools:context=".ui.home.HomeFragment">