From 21c1e472ba418e080b89b77c59b1ee4963286cd6 Mon Sep 17 00:00:00 2001 From: 230415 <230415@epvc.pt> Date: Mon, 15 Jun 2026 15:19:12 +0100 Subject: [PATCH] Revert "a acabar" This reverts commit 533f164b0ffc151bf4faf547b072da6ba02b2b79. --- .../com/example/lifegrid/LoginActivity.java | 34 +++++++++++++++++-- .../lifegrid/RecupearPasswordActivity.java | 8 +++-- .../res/layout/activity_recupear_password.xml | 11 ++---- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/example/lifegrid/LoginActivity.java b/app/src/main/java/com/example/lifegrid/LoginActivity.java index c78b827..09ccc8b 100644 --- a/app/src/main/java/com/example/lifegrid/LoginActivity.java +++ b/app/src/main/java/com/example/lifegrid/LoginActivity.java @@ -111,17 +111,45 @@ public class LoginActivity extends AppCompatActivity { } }); + // Inicialmente desabilitar o TextView de recuperar palavra-passe + passesquecerTextView.setEnabled(false); + passesquecerTextView.setAlpha(0.5f); // Visualmente mais claro quando desabilitado + passesquecerTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String email = emailEditText.getText().toString().trim(); - Intent intent = new Intent(LoginActivity.this, RecupearPasswordActivity.class); - if (!TextUtils.isEmpty(email)) { - intent.putExtra("email", email); + + // Validar se tem e-mail antes de abrir a atividade de recuperação + if (TextUtils.isEmpty(email)) { + emailEditText.setError("Por favor, digite o seu e-mail primeiro."); + emailEditText.requestFocus(); + Toast.makeText(LoginActivity.this, "Digite o seu e-mail para recuperar a palavra-passe.", Toast.LENGTH_SHORT).show(); + return; } + + Intent intent = new Intent(LoginActivity.this, RecupearPasswordActivity.class); + intent.putExtra("email", email); startActivity(intent); } }); + + // Adicionar TextWatcher para habilitar/desabilitar o TextView dinamicamente + emailEditText.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) {} + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + String email = s.toString().trim(); + boolean hasEmail = !TextUtils.isEmpty(email); + passesquecerTextView.setEnabled(hasEmail); + passesquecerTextView.setAlpha(hasEmail ? 1.0f : 0.5f); + } + + @Override + public void afterTextChanged(Editable s) {} + }); } /** diff --git a/app/src/main/java/com/example/lifegrid/RecupearPasswordActivity.java b/app/src/main/java/com/example/lifegrid/RecupearPasswordActivity.java index 7bc7015..d6ade04 100644 --- a/app/src/main/java/com/example/lifegrid/RecupearPasswordActivity.java +++ b/app/src/main/java/com/example/lifegrid/RecupearPasswordActivity.java @@ -51,6 +51,10 @@ public class RecupearPasswordActivity extends AppCompatActivity { String emailPassado = getIntent().getStringExtra("email"); if (!TextUtils.isEmpty(emailPassado)) { emailEditText4.setText(emailPassado); + // Tornar o campo não editável quando vier do login + emailEditText4.setEnabled(false); + emailEditText4.setFocusable(false); + emailEditText4.setClickable(false); } loginButton3.setOnClickListener(v -> recuperarPassword()); @@ -91,8 +95,8 @@ public class RecupearPasswordActivity extends AppCompatActivity { Toast.makeText(this, "Email de recuperação enviado para " + email + "\nVerifique sua caixa de entrada.", Toast.LENGTH_LONG).show(); - // Fechar atividade para voltar ao Login após sucesso - finish(); + // Limpar o campo após sucesso + emailEditText4.setText(""); } else { // Erro ao enviar email String errorMessage = "Erro ao enviar email de recuperação."; diff --git a/app/src/main/res/layout/activity_recupear_password.xml b/app/src/main/res/layout/activity_recupear_password.xml index beb4cca..f069133 100644 --- a/app/src/main/res/layout/activity_recupear_password.xml +++ b/app/src/main/res/layout/activity_recupear_password.xml @@ -26,7 +26,6 @@ android:layout_height="wrap_content" android:layout_marginTop="40dp" android:text="Email" - android:textColor="@color/preto" android:textSize="12sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.104" @@ -42,9 +41,7 @@ android:ems="10" android:hint="seu@email.com" android:inputType="textEmailAddress" - android:textColor="@color/preto" - android:textColorHint="@color/cinzaescuro" - android:textSize="15sp" + android:textSize="15dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.493" app:layout_constraintStart_toStartOf="parent" @@ -67,8 +64,7 @@ android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="Recuperar password" - android:textColor="@color/preto" - android:textSize="26sp" + android:textSize="26dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.23" app:layout_constraintStart_toStartOf="parent" @@ -80,8 +76,7 @@ android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="Insira o seu email para recuperar a password" - android:textColor="@color/preto" - android:textSize="16sp" + android:textSize="16dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.425" app:layout_constraintStart_toStartOf="parent"