diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index aef0ca7..512228d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,18 +18,19 @@
android:name=".ui.Inicial.Criar_conta"
android:exported="false" />
+ android:label="@string/app_name">
+
-
+
\ No newline at end of file
diff --git a/app/src/main/img_cuida-playstore.png b/app/src/main/img_cuida-playstore.png
new file mode 100644
index 0000000..7f85490
Binary files /dev/null and b/app/src/main/img_cuida-playstore.png differ
diff --git a/app/src/main/java/com/example/cuida/ui/Inicial/iniciar_sessao.java b/app/src/main/java/com/example/cuida/ui/Inicial/iniciar_sessao.java
index 1e3ebf1..04bc27c 100644
--- a/app/src/main/java/com/example/cuida/ui/Inicial/iniciar_sessao.java
+++ b/app/src/main/java/com/example/cuida/ui/Inicial/iniciar_sessao.java
@@ -1,6 +1,7 @@
package com.example.cuida.ui.Inicial;
import android.content.Intent;
+import android.media.Image;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
@@ -10,8 +11,6 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
-import androidx.activity.EdgeToEdge;
-import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
@@ -19,61 +18,58 @@ import androidx.core.view.WindowInsetsCompat;
import com.example.cuida.R;
import com.example.cuida.ui.MainActivity;
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
public class iniciar_sessao extends AppCompatActivity {
+
private ImageView imageView;
+
private EditText emailEditText;
private EditText palavraPasseEditText;
private Button entrarButton;
private Button criarContaButton;
- private TextView bemVindoTextView;
- private Button esqueciAPalavraPasseButton;
+ private TextView esqueciAPalavraPasseButton;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- EdgeToEdge.enable(this);
setContentView(R.layout.activity_iniciar_sessao);
- // Inicializar Firebase Auth
mAuth = FirebaseAuth.getInstance();
- // Configuração do layout para Edge-to-Edge
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;
});
- // Associar as Views
imageView = findViewById(R.id.imageView);
emailEditText = findViewById(R.id.emailEditText);
palavraPasseEditText = findViewById(R.id.palavraPasseEditText);
entrarButton = findViewById(R.id.entarButton);
criarContaButton = findViewById(R.id.criarContaButton);
- bemVindoTextView = findViewById(R.id.bemVindoTextView);
+ esqueciAPalavraPasseButton = findViewById(R.id.esqueciAPalavraPasseButton);
+
+
+ entrarButton.setOnClickListener(v -> iniciarSessao());
- // Definir o listener para o botão de criar conta
criarContaButton.setOnClickListener(v -> {
- // Chama o método para criar a conta
- criarConta();
+ Intent intent = new Intent(iniciar_sessao.this, Criar_conta.class);
+ startActivity(intent);
+ });
+
+ esqueciAPalavraPasseButton.setOnClickListener(v -> {
+ Intent intent = new Intent(iniciar_sessao.this, Esqueci_a_palavra_passe.class);
+ startActivity(intent);
});
}
- /**
- * Método para criar uma nova conta de utilizador.
- */
- private void criarConta() {
+ private void iniciarSessao() {
String email = emailEditText.getText().toString().trim();
String password = palavraPasseEditText.getText().toString().trim();
- // 1. Validar as entradas do utilizador
if (email.isEmpty()) {
emailEditText.setError("O e-mail é obrigatório");
emailEditText.requestFocus();
@@ -86,40 +82,23 @@ public class iniciar_sessao extends AppCompatActivity {
return;
}
- if (password.length() < 6) {
- palavraPasseEditText.setError("A palavra-passe deve ter no mínimo 6 caracteres");
- palavraPasseEditText.requestFocus();
- return;
- }
-
- // 2. Criar o utilizador no Firebase
- mAuth.createUserWithEmailAndPassword(email, password)
+ mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, task -> {
if (task.isSuccessful()) {
- // Se o registo for bem-sucedido
- Log.d("FIREBASE_AUTH", "createUserWithEmail:success");
- Toast.makeText(iniciar_sessao.this, "Conta criada com sucesso.", Toast.LENGTH_SHORT).show();
-
- // Navega para a MainActivity
+ Log.d("FIREBASE_AUTH", "signInWithEmail:success");
+ Toast.makeText(iniciar_sessao.this, "Login bem-sucedido.", Toast.LENGTH_SHORT).show();
navegarParaMainActivity();
-
} else {
- // Se o registo falhar
- Log.w("FIREBASE_AUTH", "createUserWithEmail:failure", task.getException());
- // Mostra uma mensagem de erro mais específica
- String errorMessage = task.getException() != null ? task.getException().getMessage() : "Erro desconhecido.";
- Toast.makeText(iniciar_sessao.this, "Falha na autenticação: " + errorMessage, Toast.LENGTH_LONG).show();
+ Log.w("FIREBASE_AUTH", "signInWithEmail:failure", task.getException());
+ Toast.makeText(iniciar_sessao.this, "Falha na autenticação. Verifique suas credenciais.", Toast.LENGTH_LONG).show();
}
});
}
- /**
- * Navega para a MainActivity e limpa a pilha de atividades.
- */
private void navegarParaMainActivity() {
Intent intent = new Intent(iniciar_sessao.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
- finish(); // Finaliza a atividade atual
+ finish();
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_criar_conta.xml b/app/src/main/res/layout/activity_criar_conta.xml
index 01e6cda..53fdf80 100644
--- a/app/src/main/res/layout/activity_criar_conta.xml
+++ b/app/src/main/res/layout/activity_criar_conta.xml
@@ -9,12 +9,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_iniciar_sessao.xml b/app/src/main/res/layout/activity_iniciar_sessao.xml
index 69a7cfd..7d5b887 100644
--- a/app/src/main/res/layout/activity_iniciar_sessao.xml
+++ b/app/src/main/res/layout/activity_iniciar_sessao.xml
@@ -7,47 +7,28 @@
android:layout_height="match_parent"
tools:context=".ui.Inicial.iniciar_sessao">
-
-
+ app:layout_constraintEnd_toEndOf="@+id/textView"
+ app:layout_constraintHorizontal_bias="0.497"
+ app:layout_constraintStart_toStartOf="@+id/textView"
+ app:layout_constraintTop_toBottomOf="@+id/textView" />
@@ -86,22 +67,35 @@
android:id="@+id/criarContaButton"
android:layout_width="250dp"
android:layout_height="45dp"
- android:layout_marginTop="12dp"
android:backgroundTint="#FFFFFF"
android:text="Criar conta"
+ app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/entarButton"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/entarButton"
- app:layout_constraintTop_toBottomOf="@+id/entarButton" />
+ app:layout_constraintTop_toBottomOf="@+id/entarButton"
+ app:layout_constraintVertical_bias="0.04" />
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml
index a058270..85707b8 100644
--- a/app/src/main/res/menu/bottom_nav_menu.xml
+++ b/app/src/main/res/menu/bottom_nav_menu.xml
@@ -7,11 +7,6 @@
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />
-
-
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/img_cuida_round.xml b/app/src/main/res/mipmap-anydpi-v26/img_cuida_round.xml
new file mode 100644
index 0000000..0fa76bb
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/img_cuida_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/img_cuida.webp b/app/src/main/res/mipmap-hdpi/img_cuida.webp
new file mode 100644
index 0000000..d54b1d0
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/img_cuida.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/img_cuida_foreground.webp b/app/src/main/res/mipmap-hdpi/img_cuida_foreground.webp
new file mode 100644
index 0000000..d558faf
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/img_cuida_foreground.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/img_cuida_round.webp b/app/src/main/res/mipmap-hdpi/img_cuida_round.webp
new file mode 100644
index 0000000..2017cda
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/img_cuida_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/img_cuida.webp b/app/src/main/res/mipmap-mdpi/img_cuida.webp
new file mode 100644
index 0000000..de6e925
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/img_cuida.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/img_cuida_foreground.webp b/app/src/main/res/mipmap-mdpi/img_cuida_foreground.webp
new file mode 100644
index 0000000..73021bd
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/img_cuida_foreground.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/img_cuida_round.webp b/app/src/main/res/mipmap-mdpi/img_cuida_round.webp
new file mode 100644
index 0000000..d92c81f
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/img_cuida_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/img_cuida.webp b/app/src/main/res/mipmap-xhdpi/img_cuida.webp
new file mode 100644
index 0000000..e267445
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/img_cuida.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/img_cuida_foreground.webp b/app/src/main/res/mipmap-xhdpi/img_cuida_foreground.webp
new file mode 100644
index 0000000..f631401
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/img_cuida_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/img_cuida_round.webp b/app/src/main/res/mipmap-xhdpi/img_cuida_round.webp
new file mode 100644
index 0000000..df629f1
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/img_cuida_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/img_cuida.webp b/app/src/main/res/mipmap-xxhdpi/img_cuida.webp
new file mode 100644
index 0000000..fa8c7ed
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/img_cuida.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/img_cuida_foreground.webp b/app/src/main/res/mipmap-xxhdpi/img_cuida_foreground.webp
new file mode 100644
index 0000000..8be048e
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/img_cuida_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/img_cuida_round.webp b/app/src/main/res/mipmap-xxhdpi/img_cuida_round.webp
new file mode 100644
index 0000000..53be48f
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/img_cuida_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/img_cuida.webp b/app/src/main/res/mipmap-xxxhdpi/img_cuida.webp
new file mode 100644
index 0000000..5394d75
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/img_cuida.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/img_cuida_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/img_cuida_foreground.webp
new file mode 100644
index 0000000..4c280c3
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/img_cuida_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/img_cuida_round.webp b/app/src/main/res/mipmap-xxxhdpi/img_cuida_round.webp
new file mode 100644
index 0000000..722c3b5
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/img_cuida_round.webp differ
diff --git a/app/src/main/res/values/img_cuida_background.xml b/app/src/main/res/values/img_cuida_background.xml
new file mode 100644
index 0000000..59d0ad8
--- /dev/null
+++ b/app/src/main/res/values/img_cuida_background.xml
@@ -0,0 +1,4 @@
+
+
+ #FFFFFF
+
\ No newline at end of file