From 85a64eb15fa48e32b37f529dc63d1252e7cada9c Mon Sep 17 00:00:00 2001
From: 230415 <230415@epvc.pt>
Date: Tue, 9 Dec 2025 17:18:15 +0000
Subject: [PATCH] =?UTF-8?q?Login=20feito,=20Criar=20Conta=20feito=20e=20co?=
=?UTF-8?q?me=C3=A7o=20da=20recupera=C3=A7=C3=A3o=20da=20password?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 3 +
.../example/lifegrid/CriarContaActivity.java | 151 ++++++++++++++++++
.../com/example/lifegrid/LoginActivity.java | 8 +-
.../example/lifegrid/TelaInicialActivity.java | 24 +++
app/src/main/res/drawable/logo.png | Bin 0 -> 16373 bytes
.../main/res/layout/activity_criar_conta.xml | 33 +++-
app/src/main/res/layout/activity_login.xml | 17 +-
.../res/layout/activity_recupear_password.xml | 72 +++++++++
.../main/res/layout/activity_tela_inicial.xml | 10 ++
9 files changed, 309 insertions(+), 9 deletions(-)
create mode 100644 app/src/main/java/com/example/lifegrid/TelaInicialActivity.java
create mode 100644 app/src/main/res/drawable/logo.png
create mode 100644 app/src/main/res/layout/activity_tela_inicial.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a5fcac4..5a2581e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -13,6 +13,9 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.LifeGrid">
+
diff --git a/app/src/main/java/com/example/lifegrid/CriarContaActivity.java b/app/src/main/java/com/example/lifegrid/CriarContaActivity.java
index d0b0c40..d3c142e 100644
--- a/app/src/main/java/com/example/lifegrid/CriarContaActivity.java
+++ b/app/src/main/java/com/example/lifegrid/CriarContaActivity.java
@@ -1,6 +1,14 @@
package com.example.lifegrid;
+import android.content.Intent;
import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Patterns;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ProgressBar;
+import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
@@ -8,8 +16,21 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
+import com.google.firebase.FirebaseApp;
+import com.google.firebase.auth.FirebaseAuth;
+import com.google.firebase.auth.FirebaseUser;
+
public class CriarContaActivity extends AppCompatActivity {
+ private EditText nomeEditText;
+ private EditText emailEditText2;
+ private EditText passwordEditText3;
+ private EditText passwordEditText2;
+ private Button loginButton2;
+ private Button googleButton2;
+ private ProgressBar loadingProgressBar;
+ private FirebaseAuth firebaseAuth;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -20,5 +41,135 @@ public class CriarContaActivity extends AppCompatActivity {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
+
+ nomeEditText = findViewById(R.id.emailEditText3);
+ emailEditText2 = findViewById(R.id.emailEditText2);
+ passwordEditText3 = findViewById(R.id.passwordEditText3);
+ passwordEditText2 = findViewById(R.id.passwordEditText2);
+ loginButton2 = findViewById(R.id.loginButton2);
+ googleButton2 = findViewById(R.id.googleButton2);
+ loadingProgressBar = findViewById(R.id.loadingProgressBar);
+
+ FirebaseApp.initializeApp(this);
+ firebaseAuth = FirebaseAuth.getInstance();
+
+ loginButton2.setOnClickListener(v -> criarConta());
+ googleButton2.setOnClickListener(v ->
+ Toast.makeText(this, "Login com Google disponível em breve.", Toast.LENGTH_SHORT).show()
+ );
+ }
+
+ private void criarConta() {
+ String nome = nomeEditText.getText().toString().trim();
+ String email = emailEditText2.getText().toString().trim();
+ String password = passwordEditText3.getText().toString();
+ String confirmarPassword = passwordEditText2.getText().toString();
+
+ if (!validarDados(nome, email, password, confirmarPassword)) {
+ return;
+ }
+
+ toggleLoading(true);
+
+ firebaseAuth.createUserWithEmailAndPassword(email, password)
+ .addOnCompleteListener(this, task -> {
+ toggleLoading(false);
+ if (task.isSuccessful()) {
+ FirebaseUser user = firebaseAuth.getCurrentUser();
+ if (user != null) {
+ // Conta criada com sucesso - redirecionar para TelaInicialActivity
+ Toast.makeText(this,
+ "Conta criada com sucesso! Bem-vindo, " + nome,
+ Toast.LENGTH_SHORT).show();
+
+ // Redirecionar para TelaInicialActivity apenas após sucesso
+ Intent intent = new Intent(CriarContaActivity.this, TelaInicialActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ startActivity(intent);
+ finish(); // Fechar esta atividade
+ }
+ } else {
+ // Erro ao criar conta - mostrar mensagem de erro
+ String errorMessage = "Erro ao criar conta.";
+ if (task.getException() != null) {
+ errorMessage = task.getException().getMessage();
+ // Traduzir alguns erros comuns para português
+ if (errorMessage.contains("email address is already in use")) {
+ errorMessage = "Este email já está em uso. Por favor, use outro email.";
+ } else if (errorMessage.contains("network")) {
+ errorMessage = "Erro de conexão. Verifique sua internet.";
+ } else if (errorMessage.contains("weak password")) {
+ errorMessage = "Palavra-passe muito fraca. Use uma palavra-passe mais forte.";
+ }
+ }
+ Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
+ }
+ });
+ }
+
+ private boolean validarDados(String nome, String email, String password, String confirmarPassword) {
+ // Validar nome
+ if (TextUtils.isEmpty(nome)) {
+ nomeEditText.setError("Nome obrigatório.");
+ nomeEditText.requestFocus();
+ return false;
+ }
+
+ if (nome.length() < 2) {
+ nomeEditText.setError("Nome deve ter pelo menos 2 caracteres.");
+ nomeEditText.requestFocus();
+ return false;
+ }
+
+ // Validar email
+ if (TextUtils.isEmpty(email)) {
+ emailEditText2.setError("Email obrigatório.");
+ emailEditText2.requestFocus();
+ return false;
+ }
+
+ if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
+ emailEditText2.setError("Formato de email inválido.");
+ emailEditText2.requestFocus();
+ return false;
+ }
+
+ // Validar password
+ if (TextUtils.isEmpty(password)) {
+ passwordEditText3.setError("Palavra-passe obrigatória.");
+ passwordEditText3.requestFocus();
+ return false;
+ }
+
+ if (password.length() < 6) {
+ passwordEditText3.setError("Palavra-passe deve ter pelo menos 6 caracteres.");
+ passwordEditText3.requestFocus();
+ return false;
+ }
+
+ // Validar confirmação de password
+ if (TextUtils.isEmpty(confirmarPassword)) {
+ passwordEditText2.setError("Por favor, confirme a palavra-passe.");
+ passwordEditText2.requestFocus();
+ return false;
+ }
+
+ if (!password.equals(confirmarPassword)) {
+ passwordEditText2.setError("As palavras-passe não coincidem.");
+ passwordEditText2.requestFocus();
+ return false;
+ }
+
+ return true;
+ }
+
+ private void toggleLoading(boolean show) {
+ loadingProgressBar.setVisibility(show ? View.VISIBLE : View.GONE);
+ loginButton2.setEnabled(!show);
+ googleButton2.setEnabled(!show);
+ nomeEditText.setEnabled(!show);
+ emailEditText2.setEnabled(!show);
+ passwordEditText3.setEnabled(!show);
+ passwordEditText2.setEnabled(!show);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/lifegrid/LoginActivity.java b/app/src/main/java/com/example/lifegrid/LoginActivity.java
index d29b8ba..a3515ee 100644
--- a/app/src/main/java/com/example/lifegrid/LoginActivity.java
+++ b/app/src/main/java/com/example/lifegrid/LoginActivity.java
@@ -101,7 +101,13 @@ public class LoginActivity extends AppCompatActivity {
String welcome = user != null && !TextUtils.isEmpty(user.getEmail())
? "Bem-vindo, " + user.getEmail()
: "Login realizado com sucesso!";
- Toast.makeText(this, welcome, Toast.LENGTH_LONG).show();
+ Toast.makeText(this, welcome, Toast.LENGTH_SHORT).show();
+
+ // Redirecionar para TelaInicialActivity após login bem-sucedido
+ Intent intent = new Intent(LoginActivity.this, TelaInicialActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ startActivity(intent);
+ finish(); // Fechar LoginActivity para não poder voltar com back button
} else {
Toast.makeText(this,
task.getException() != null ? task.getException().getMessage() : "Falha no login",
diff --git a/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java b/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java
new file mode 100644
index 0000000..863b7b2
--- /dev/null
+++ b/app/src/main/java/com/example/lifegrid/TelaInicialActivity.java
@@ -0,0 +1,24 @@
+package com.example.lifegrid;
+
+import android.os.Bundle;
+
+import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowInsetsCompat;
+
+public class TelaInicialActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ EdgeToEdge.enable(this);
+ setContentView(R.layout.activity_tela_inicial);
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
+ Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..646959202644ce1c4f8638b928a5cc8213e08086
GIT binary patch
literal 16373
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
MHM&!H%kJ&}0WrQX6#xJL
literal 0
HcmV?d00001
diff --git a/app/src/main/res/layout/activity_criar_conta.xml b/app/src/main/res/layout/activity_criar_conta.xml
index 6e549d0..805af91 100644
--- a/app/src/main/res/layout/activity_criar_conta.xml
+++ b/app/src/main/res/layout/activity_criar_conta.xml
@@ -3,10 +3,22 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
+ android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".CriarContaActivity">
+
+
@@ -24,14 +36,14 @@
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="160dp"
+ android:layout_marginTop="24dp"
android:text="Criar conta"
android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.166"
+ app:layout_constraintHorizontal_bias="0.128"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toBottomOf="@+id/logoImageView" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index baf1204..2944149 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -13,14 +13,14 @@
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="192dp"
+ android:layout_marginTop="24dp"
android:text="Bem-vindo/a de volta"
android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.113"
+ app:layout_constraintHorizontal_bias="0.154"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toBottomOf="@+id/logoImageView" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_recupear_password.xml b/app/src/main/res/layout/activity_recupear_password.xml
index 42ddf10..99cf01d 100644
--- a/app/src/main/res/layout/activity_recupear_password.xml
+++ b/app/src/main/res/layout/activity_recupear_password.xml
@@ -7,4 +7,76 @@
android:layout_height="match_parent"
tools:context=".RecupearPasswordActivity">
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tela_inicial.xml b/app/src/main/res/layout/activity_tela_inicial.xml
new file mode 100644
index 0000000..93275a6
--- /dev/null
+++ b/app/src/main/res/layout/activity_tela_inicial.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file