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 c067fd7..4e67ed3 100644
--- a/Listify/app/src/main/java/com/example/listify/AuthManager.java
+++ b/Listify/app/src/main/java/com/example/listify/AuthManager.java
@@ -70,6 +70,7 @@ public class AuthManager {
public void setAuthSignUpResult(AuthSignUpResult toSet) {
authSignUpResult = toSet;
+ waiting = false;
}
public void setAuthSignInResult(AuthSignInResult toSet) {
diff --git a/Listify/app/src/main/java/com/example/listify/ui/CodePage.java b/Listify/app/src/main/java/com/example/listify/ui/CodePage.java
index 121c992..d2f9e81 100644
--- a/Listify/app/src/main/java/com/example/listify/ui/CodePage.java
+++ b/Listify/app/src/main/java/com/example/listify/ui/CodePage.java
@@ -1,39 +1,70 @@
package com.example.listify.ui;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
+import android.widget.EditText;
+import com.example.listify.AuthManager;
import com.example.listify.R;
+import com.example.listify.MainActivity;
+import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDialog;
+import androidx.appcompat.app.AppCompatDialogFragment;
-public class CodePage extends AppCompatActivity {
- private Button button1; //Reset password page button
- private Button button2; //Cancel button
+public class CodePage extends AppCompatDialogFragment {
+ private EditText ediTextCode;
+
+ private CodeDialogListener listener;
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_code);
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+ View view = inflater.inflate(R.layout.activity_code, null);
- button1 = (Button) findViewById(R.id.button1);
- button1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(CodePage.this, ResetPasswordPage.class);
- startActivity(intent);
- }
- });
+ builder.setView(view)
+ .setTitle("Verification code")
+ .setPositiveButton("Submit", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ String code = ediTextCode.getText().toString();
+ listener.sendCode("" + code + "", false);
+ }
+ })
+ .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ String code = ediTextCode.getText().toString();
+ listener.sendCode("" + code + "", true);
+ }
+ });
- button2 = (Button) findViewById(R.id.button2);
- button2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(CodePage.this, LoginPage.class);
- startActivity(intent);
- }
- });
+ ediTextCode = view.findViewById(R.id.editTextCode);
+
+ return builder.create();
+ }
+
+ @Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+
+ try {
+ listener = (CodeDialogListener) context;
+ } catch (ClassCastException e) {
+ throw new ClassCastException("CodeDialogListener not implemented.");
+ }
+ }
+
+ public interface CodeDialogListener {
+ void sendCode(String code, boolean cancel);
}
}
\ No newline at end of file
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 bd2194a..24af29e 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
@@ -2,6 +2,7 @@ package com.example.listify.ui;
import android.content.Intent;
import android.os.Bundle;
+import android.util.Log;
import android.view.View;
import android.widget.Button;
@@ -9,7 +10,7 @@ import com.example.listify.R;
import androidx.appcompat.app.AppCompatActivity;
-public class ForgotPasswordPage extends AppCompatActivity {
+public class ForgotPasswordPage extends AppCompatActivity implements CodePage.CodeDialogListener {
private Button button1; //Code page button
@Override
@@ -21,9 +22,27 @@ public class ForgotPasswordPage extends AppCompatActivity {
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(ForgotPasswordPage.this, CodePage.class);
- startActivity(intent);
+ openDialog();
}
});
}
+
+ public void openDialog() {
+ CodePage codePage = new CodePage();
+ codePage.show(getSupportFragmentManager(), "Verification code");
+ }
+
+ @Override
+ public void sendCode(String code, boolean cancel) {
+ Intent intent;
+
+ if(cancel) {
+ intent = new Intent(ForgotPasswordPage.this, LoginPage.class);
+ }
+ else {
+ intent = new Intent(ForgotPasswordPage.this, ResetPasswordPage.class);
+ }
+
+ startActivity(intent);
+ }
}
\ No newline at end of file
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 ed1e006..3be1966 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
@@ -2,10 +2,13 @@ package com.example.listify.ui;
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 com.example.listify.R;
+import com.example.listify.AuthManager;
import com.example.listify.MainActivity;
import androidx.appcompat.app.AppCompatActivity;
@@ -42,8 +45,22 @@ public class LoginPage extends AppCompatActivity {
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(LoginPage.this, MainActivity.class);
- startActivity(intent);
+ EditText emailText = (EditText) findViewById(R.id.editTextTextPersonName);
+ EditText passwordText = (EditText) findViewById(R.id.editTextTextPassword);
+
+ String email = emailText.getText().toString();
+ String password = passwordText.getText().toString();
+
+ AuthManager authManager = new AuthManager();
+
+ try {
+ authManager.signIn(email, password);
+ //Intent intent = new Intent(LoginPage.this, LoginPage.class);
+ //startActivity(intent);
+ }
+ catch(Exception ex) {
+ //Display "Incorrect email or password" message
+ }
}
});
}
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 d211d8f..cc56bc5 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
@@ -2,18 +2,23 @@ package com.example.listify.ui;
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 com.example.listify.R;
+import com.example.listify.AuthManager;
import com.example.listify.MainActivity;
import androidx.appcompat.app.AppCompatActivity;
-public class SignupPage extends AppCompatActivity {
+public class SignupPage extends AppCompatActivity implements CodePage.CodeDialogListener {
private Button button1; //Log in page button
private Button button2; //Sign up button
+ AuthManager authManager = new AuthManager();
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -32,9 +37,43 @@ public class SignupPage extends AppCompatActivity {
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(SignupPage.this, MainActivity.class);
- startActivity(intent);
+ EditText emailText = (EditText) findViewById(R.id.editTextTextEmailAddress);
+ EditText passwordText = (EditText) findViewById(R.id.editTextTextPassword);
+
+ String email = emailText.getText().toString();
+ String password = passwordText.getText().toString();
+
+ try {
+ authManager.startSignUp(email, password);
+ }
+ catch(Exception e) {
+ return;
+ }
+
+ openDialog();
}
});
}
+
+ public void openDialog() {
+ CodePage codePage = new CodePage();
+ codePage.show(getSupportFragmentManager(), "Verification code");
+ }
+
+ @Override
+ public void sendCode(String code, boolean cancel) {
+ if(cancel) {
+ //Remove user from database
+ }
+ else {
+ try {
+ authManager.confirmSignUp(code);
+ //Intent intent = new Intent(SignupPage.this, MainActivity.class);
+ //startActivity(intent);
+ }
+ catch (Exception e) {
+ //Remove user from database
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/Listify/app/src/main/res/layout/activity_code.xml b/Listify/app/src/main/res/layout/activity_code.xml
index dc50709..2c06f6a 100644
--- a/Listify/app/src/main/res/layout/activity_code.xml
+++ b/Listify/app/src/main/res/layout/activity_code.xml
@@ -5,44 +5,16 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/Listify/app/src/main/res/layout/activity_signup.xml b/Listify/app/src/main/res/layout/activity_signup.xml
index 72e21d1..72ffa91 100644
--- a/Listify/app/src/main/res/layout/activity_signup.xml
+++ b/Listify/app/src/main/res/layout/activity_signup.xml
@@ -27,15 +27,15 @@
app:layout_constraintTop_toTopOf="parent" />
+ android:inputType="textPersonName"
+ app:layout_constraintStart_toStartOf="@+id/editTextTextEmailAddress"
+ app:layout_constraintTop_toBottomOf="@+id/editTextTextEmailAddress" />
+ app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName"
+ app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName" />