diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8741f3a..087c54b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -32,7 +32,7 @@ diff --git a/app/src/main/java/com/example/vdcscore/CriarContaActivity.java b/app/src/main/java/com/example/vdcscore/CriarContaActivity.java index af4e9d1..5b42287 100644 --- a/app/src/main/java/com/example/vdcscore/CriarContaActivity.java +++ b/app/src/main/java/com/example/vdcscore/CriarContaActivity.java @@ -45,7 +45,7 @@ public class CriarContaActivity extends AppCompatActivity { btnCreateAccount.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - String email = editEmail.getText().toString().trim(); + String email = editEmail.getText().toString(); String pass = editPassword2.getText().toString(); String conf = editConfirmPassword.getText().toString(); @@ -54,16 +54,6 @@ public class CriarContaActivity extends AppCompatActivity { return; } - if (!android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) { - Toast.makeText(CriarContaActivity.this, "Por favor, insira um email válido", Toast.LENGTH_SHORT).show(); - return; - } - - if (pass.length() < 6) { - Toast.makeText(CriarContaActivity.this, "A senha deve ter pelo menos 6 caracteres", Toast.LENGTH_SHORT).show(); - return; - } - if (!pass.equals(conf)) { Toast.makeText(CriarContaActivity.this, "As passwords não coincidem!", Toast.LENGTH_SHORT).show(); return; @@ -72,17 +62,12 @@ public class CriarContaActivity extends AppCompatActivity { FirebaseAuth auth = FirebaseAuth.getInstance(); auth.createUserWithEmailAndPassword(email, pass).addOnCompleteListener(CriarContaActivity.this, task -> { if (task.isSuccessful()) { - Toast.makeText(CriarContaActivity.this, "Conta criada com sucesso!", Toast.LENGTH_SHORT).show(); + Intent intent= new Intent(CriarContaActivity.this, MainActivity.class); startActivity(intent); finish(); } else { - String errorMessage = task.getException().getMessage(); - if (errorMessage != null && errorMessage.contains("email")) { - Toast.makeText(CriarContaActivity.this, "Este email já está em uso", Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(CriarContaActivity.this, "Erro ao criar conta: " + errorMessage, Toast.LENGTH_SHORT).show(); - } + Toast.makeText(CriarContaActivity.this, "Erro ao criar conta!", Toast.LENGTH_SHORT).show(); } }); diff --git a/app/src/main/java/com/example/vdcscore/LoginActivity.java b/app/src/main/java/com/example/vdcscore/LoginActivity.java index 579a462..c2f3d11 100644 --- a/app/src/main/java/com/example/vdcscore/LoginActivity.java +++ b/app/src/main/java/com/example/vdcscore/LoginActivity.java @@ -35,7 +35,7 @@ public class LoginActivity extends AppCompatActivity { btnLogin.setOnClickListener(v -> loginUser()); criarContaTextView.setOnClickListener(view -> criarConta()); - txtForgotPassword.setOnClickListener(view -> recuperarSenha()); + txtForgotPassword.setOnClickListener(view -> recuperarPassword()); } private void criarConta() { @@ -43,8 +43,8 @@ public class LoginActivity extends AppCompatActivity { startActivity(intent); } - private void recuperarSenha() { - Intent intent = new Intent(LoginActivity.this, RecuperarSenhaActivity.class); + private void recuperarPassword() { + Intent intent = new Intent(LoginActivity.this, RecuperarPasswordActivity.class); startActivity(intent); } @@ -57,11 +57,6 @@ public class LoginActivity extends AppCompatActivity { return; } - if (!android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) { - Toast.makeText(this, "Por favor, insira um email válido", Toast.LENGTH_SHORT).show(); - return; - } - mAuth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(task -> { if (task.isSuccessful()) { @@ -73,16 +68,9 @@ public class LoginActivity extends AppCompatActivity { finish(); } else { - String errorMessage = task.getException().getMessage(); - if (errorMessage != null && errorMessage.contains("password")) { - Toast.makeText(this, - "Senha incorreta. Esqueceu a senha?", - Toast.LENGTH_LONG).show(); - } else { - Toast.makeText(this, - "Erro: " + errorMessage, - Toast.LENGTH_LONG).show(); - } + Toast.makeText(this, + "Erro: " + task.getException().getMessage(), + Toast.LENGTH_LONG).show(); } }); } diff --git a/app/src/main/java/com/example/vdcscore/RecuperarSenhaActivity.java b/app/src/main/java/com/example/vdcscore/RecuperarPasswordActivity.java similarity index 53% rename from app/src/main/java/com/example/vdcscore/RecuperarSenhaActivity.java rename to app/src/main/java/com/example/vdcscore/RecuperarPasswordActivity.java index 3b8d7fc..c4c904f 100644 --- a/app/src/main/java/com/example/vdcscore/RecuperarSenhaActivity.java +++ b/app/src/main/java/com/example/vdcscore/RecuperarPasswordActivity.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; +import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; @@ -12,38 +13,41 @@ import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.textfield.TextInputEditText; import com.google.firebase.auth.FirebaseAuth; -public class RecuperarSenhaActivity extends AppCompatActivity { +public class RecuperarPasswordActivity extends AppCompatActivity { - private TextInputEditText editEmailRecover; - private Button btnSendRecovery; - private TextView txtBackToLogin; + private TextInputEditText editEmailRecuperar; + private Button btnRecuperar; + private ImageButton btnBack; + private TextView txtVoltarLogin; private FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_recuperar_senha); + setContentView(R.layout.activity_recuperar_password); - editEmailRecover = findViewById(R.id.editEmailRecover); - btnSendRecovery = findViewById(R.id.btnSendRecovery); - txtBackToLogin = findViewById(R.id.txtBackToLogin); + editEmailRecuperar = findViewById(R.id.editEmailRecuperar); + btnRecuperar = findViewById(R.id.btnRecuperar); + btnBack = findViewById(R.id.btnBack); + txtVoltarLogin = findViewById(R.id.txtVoltarLogin); mAuth = FirebaseAuth.getInstance(); - btnSendRecovery.setOnClickListener(v -> sendRecoveryEmail()); - txtBackToLogin.setOnClickListener(v -> backToLogin()); + btnRecuperar.setOnClickListener(v -> recuperarPassword()); + btnBack.setOnClickListener(v -> voltarLogin()); + txtVoltarLogin.setOnClickListener(v -> voltarLogin()); } - private void sendRecoveryEmail() { - String email = editEmailRecover.getText().toString().trim(); + private void recuperarPassword() { + String email = editEmailRecuperar.getText().toString().trim(); if (email.isEmpty()) { - Toast.makeText(this, "Por favor, insira o seu email", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "Por favor, introduza o seu email", Toast.LENGTH_SHORT).show(); return; } if (!android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) { - Toast.makeText(this, "Por favor, insira um email válido", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, "Por favor, introduza um email válido", Toast.LENGTH_SHORT).show(); return; } @@ -53,8 +57,7 @@ public class RecuperarSenhaActivity extends AppCompatActivity { Toast.makeText(this, "Email de recuperação enviado! Verifique a sua caixa de entrada.", Toast.LENGTH_LONG).show(); - // Voltar ao login após enviar - backToLogin(); + voltarLogin(); } else { Toast.makeText(this, "Erro: " + task.getException().getMessage(), @@ -63,8 +66,8 @@ public class RecuperarSenhaActivity extends AppCompatActivity { }); } - private void backToLogin() { - Intent intent = new Intent(RecuperarSenhaActivity.this, LoginActivity.class); + private void voltarLogin() { + Intent intent = new Intent(RecuperarPasswordActivity.this, LoginActivity.class); startActivity(intent); finish(); } diff --git a/app/src/main/res/drawable/bg_gradient_login.xml b/app/src/main/res/drawable/bg_gradient.xml similarity index 100% rename from app/src/main/res/drawable/bg_gradient_login.xml rename to app/src/main/res/drawable/bg_gradient.xml diff --git a/app/src/main/res/drawable/button_modern.xml b/app/src/main/res/drawable/button_modern.xml index fe0cba6..a73c25e 100644 --- a/app/src/main/res/drawable/button_modern.xml +++ b/app/src/main/res/drawable/button_modern.xml @@ -2,7 +2,7 @@ diff --git a/app/src/main/res/drawable/ic_arrow_back.xml b/app/src/main/res/drawable/ic_arrow_back.xml new file mode 100644 index 0000000..b35c135 --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_back.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_email.xml b/app/src/main/res/drawable/ic_email.xml deleted file mode 100644 index ef99fad..0000000 --- a/app/src/main/res/drawable/ic_email.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_lock.xml b/app/src/main/res/drawable/ic_lock.xml deleted file mode 100644 index c6c2682..0000000 --- a/app/src/main/res/drawable/ic_lock.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/app/src/main/res/layout/activity_criarconta.xml b/app/src/main/res/layout/activity_criarconta.xml index 16e24bf..99af520 100644 --- a/app/src/main/res/layout/activity_criarconta.xml +++ b/app/src/main/res/layout/activity_criarconta.xml @@ -5,16 +5,16 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/bg_gradient_login" + android:background="@drawable/bg_gradient" android:id="@+id/main"> - + - + + app:layout_constraintTop_toBottomOf="@+id/textView4" /> + app:layout_constraintTop_toBottomOf="@+id/textView"> + android:orientation="vertical"> - + @@ -84,15 +83,15 @@ android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:hint="Email" - app:boxStrokeColor="#667eea" - app:hintTextColor="#667eea" - app:startIconDrawable="@drawable/ic_email" - app:startIconTint="#667eea" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxCornerRadiusBottomStart="12dp" - app:boxCornerRadiusBottomEnd="12dp"> + app:boxCornerRadiusBottomEnd="12dp" + app:boxStrokeWidth="0dp" + app:boxStrokeWidthFocused="0dp" + app:startIconDrawable="@android:drawable/ic_dialog_email" + app:startIconTint="#667eea" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> + android:textColorHint="#90A4AE" + android:padding="16dp" /> @@ -110,17 +110,16 @@ android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:hint="Password" - app:boxStrokeColor="#667eea" - app:hintTextColor="#667eea" - app:startIconDrawable="@drawable/ic_lock" - app:startIconTint="#667eea" - app:endIconMode="password_toggle" - app:endIconTint="#667eea" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxCornerRadiusBottomStart="12dp" - app:boxCornerRadiusBottomEnd="12dp"> + app:boxCornerRadiusBottomEnd="12dp" + app:boxStrokeWidth="0dp" + app:boxStrokeWidthFocused="0dp" + app:startIconDrawable="@android:drawable/ic_lock_lock" + app:startIconTint="#667eea" + app:endIconMode="password_toggle" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> + android:textColorHint="#90A4AE" + android:padding="16dp" /> @@ -138,17 +138,16 @@ android:layout_height="wrap_content" android:layout_marginBottom="24dp" android:hint="Confirmar Password" - app:boxStrokeColor="#667eea" - app:hintTextColor="#667eea" - app:startIconDrawable="@drawable/ic_lock" - app:startIconTint="#667eea" - app:endIconMode="password_toggle" - app:endIconTint="#667eea" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxCornerRadiusBottomStart="12dp" - app:boxCornerRadiusBottomEnd="12dp"> + app:boxCornerRadiusBottomEnd="12dp" + app:boxStrokeWidth="0dp" + app:boxStrokeWidthFocused="0dp" + app:startIconDrawable="@android:drawable/ic_lock_lock" + app:startIconTint="#667eea" + app:endIconMode="password_toggle" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> + android:textColorHint="#90A4AE" + android:padding="16dp" /> @@ -182,8 +182,9 @@ @@ -206,7 +207,8 @@ android:textSize="14sp" android:clickable="true" android:focusable="true" - android:padding="4dp" /> + android:padding="4dp" + android:background="?attr/selectableItemBackground" /> diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index c4e92a1..1cde3e3 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -5,9 +5,9 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/bg_gradient_login"> + android:background="@drawable/bg_gradient"> - + - + + app:layout_constraintTop_toBottomOf="@+id/textSubtitle"> + android:orientation="vertical"> - + @@ -83,15 +82,15 @@ android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:hint="Email" - app:boxStrokeColor="#667eea" - app:hintTextColor="#667eea" - app:startIconDrawable="@drawable/ic_email" - app:startIconTint="#667eea" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxCornerRadiusBottomStart="12dp" - app:boxCornerRadiusBottomEnd="12dp"> + app:boxCornerRadiusBottomEnd="12dp" + app:boxStrokeWidth="0dp" + app:boxStrokeWidthFocused="0dp" + app:startIconDrawable="@android:drawable/ic_dialog_email" + app:startIconTint="#667eea" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> + android:textColorHint="#90A4AE" + android:padding="16dp" /> @@ -109,17 +109,16 @@ android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:hint="Password" - app:boxStrokeColor="#667eea" - app:hintTextColor="#667eea" - app:startIconDrawable="@drawable/ic_lock" - app:startIconTint="#667eea" - app:endIconMode="password_toggle" - app:endIconTint="#667eea" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" app:boxCornerRadiusTopStart="12dp" app:boxCornerRadiusTopEnd="12dp" app:boxCornerRadiusBottomStart="12dp" - app:boxCornerRadiusBottomEnd="12dp"> + app:boxCornerRadiusBottomEnd="12dp" + app:boxStrokeWidth="0dp" + app:boxStrokeWidthFocused="0dp" + app:startIconDrawable="@android:drawable/ic_lock_lock" + app:startIconTint="#667eea" + app:endIconMode="password_toggle" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox"> + android:textColorHint="#90A4AE" + android:padding="16dp" /> - + + android:padding="4dp" />