diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f3e3b37..61fc979 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -52,6 +52,7 @@ dependencies { implementation(libs.credentials.play.services.auth) implementation(libs.googleid) implementation(libs.mediarouter) + implementation(libs.recyclerview) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) diff --git a/app/src/main/java/com/example/cuida/ui/Inicial/Esqueci_a_palavra_passe.java b/app/src/main/java/com/example/cuida/ui/Inicial/Esqueci_a_palavra_passe.java index d3b757a..d7487f2 100644 --- a/app/src/main/java/com/example/cuida/ui/Inicial/Esqueci_a_palavra_passe.java +++ b/app/src/main/java/com/example/cuida/ui/Inicial/Esqueci_a_palavra_passe.java @@ -1,26 +1,108 @@ package com.example.cuida.ui.Inicial; +import android.content.Intent; // Importação necessária para o Intent import android.os.Bundle; +import android.util.Patterns; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +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; import androidx.core.view.WindowInsetsCompat; import com.example.cuida.R; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.auth.FirebaseAuth; public class Esqueci_a_palavra_passe extends AppCompatActivity { + private TextView tpTextView; + private TextView tsTextView; + private EditText emailEditText; + private Button enviarButton; + // Removi as variáveis não usadas 'voltarButton' + private Button voltarParaOLoginButton; + + private FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - EdgeToEdge.enable(this); setContentView(R.layout.activity_esqueci_apalavra_passe); + + mAuth = FirebaseAuth.getInstance(); + 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; }); + + // Inicialização dos componentes + tpTextView = findViewById(R.id.tPTextView); + voltarParaOLoginButton = findViewById(R.id.voltarParaOLoginButton); + tsTextView = findViewById(R.id.tSTextView); + emailEditText = findViewById(R.id.emailTextEdit); + enviarButton = findViewById(R.id.enviarButton); + + // Lógica para o botão de enviar e-mail + enviarButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + recuperarSenha(); + } + }); + + // --- CÓDIGO ADICIONADO AQUI --- + // Lógica para o botão "Voltar para o Login" + voltarParaOLoginButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // Cria um Intent para ir da tela atual para a tela de login + Intent intent = new Intent(Esqueci_a_palavra_passe.this, iniciar_sessao.class); + startActivity(intent); + finish(); // Fecha a tela atual para que o usuário não volte para ela ao clicar "Voltar" + } + }); } -} \ No newline at end of file + + private void recuperarSenha() { + String email = emailEditText.getText().toString().trim(); + + if (email.isEmpty()) { + emailEditText.setError("O campo de e-mail é obrigatório."); + emailEditText.requestFocus(); + return; + } + + if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) { + emailEditText.setError("Por favor, insira um e-mail válido."); + emailEditText.requestFocus(); + return; + } + + mAuth.sendPasswordResetEmail(email) + .addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + Toast.makeText(Esqueci_a_palavra_passe.this, + "E-mail de redefinição de senha enviado. Verifique a sua caixa de entrada.", + Toast.LENGTH_LONG).show(); + // Após enviar o e-mail, também podemos fechar a tela + finish(); + } else { + Toast.makeText(Esqueci_a_palavra_passe.this, + "Falha ao enviar e-mail. Verifique se o e-mail está correto e registado.", + Toast.LENGTH_LONG).show(); + } + } + }); + } +} diff --git a/app/src/main/res/layout/activity_criar_conta.xml b/app/src/main/res/layout/activity_criar_conta.xml index 0cdcaff..abb95d5 100644 --- a/app/src/main/res/layout/activity_criar_conta.xml +++ b/app/src/main/res/layout/activity_criar_conta.xml @@ -21,8 +21,8 @@ -