This commit is contained in:
2026-06-15 15:20:40 +01:00
parent 21c1e472ba
commit 53f77a852e
4 changed files with 2 additions and 226 deletions

View File

@@ -16,24 +16,9 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.credentials.Credential;
import androidx.credentials.CustomCredential;
import androidx.credentials.GetCredentialRequest;
import androidx.credentials.GetCredentialResponse;
import androidx.credentials.exceptions.GetCredentialException;
import androidx.credentials.exceptions.NoCredentialException;
import androidx.credentials.CredentialManager;
import com.google.android.libraries.identity.googleid.GetGoogleIdOption;
import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential;
import com.google.android.libraries.identity.googleid.GoogleIdTokenParsingException;
import com.google.firebase.FirebaseApp;
import com.google.firebase.auth.AuthCredential;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.auth.GoogleAuthProvider;
import com.google.firebase.auth.GoogleAuthProvider;
/**
* CriarContaActivity é a atividade responsável por gerir o registo de novos utilizadores na aplicação LifeGrid.
@@ -47,10 +32,8 @@ public class CriarContaActivity extends AppCompatActivity {
private EditText passwordEditText3;
private EditText passwordEditText2;
private Button loginButton2;
private Button googleButton2;
private ProgressBar loadingProgressBar;
private FirebaseAuth firebaseAuth;
private CredentialManager credentialManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -68,12 +51,10 @@ public class CriarContaActivity extends AppCompatActivity {
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();
credentialManager = CredentialManager.create(this);
// Configura o botão de registo para acionar a validação e criação de conta
loginButton2.setOnClickListener(v -> criarConta());
@@ -191,35 +172,9 @@ public class CriarContaActivity extends AppCompatActivity {
return true;
}
private void firebaseAuthWithGoogle(String idToken) {
AuthCredential credential = GoogleAuthProvider.getCredential(idToken, null);
firebaseAuth.signInWithCredential(credential)
.addOnCompleteListener(this, task -> {
toggleLoading(false);
if (task.isSuccessful()) {
FirebaseUser user = firebaseAuth.getCurrentUser();
String welcome = user != null && !TextUtils.isEmpty(user.getDisplayName())
? "Conta criada com sucesso! Bem-vindo, " + user.getDisplayName()
: "Conta criada com Google com sucesso!";
Toast.makeText(this, welcome, Toast.LENGTH_SHORT).show();
// Redirecionar para TelaInicialActivity após criação bem-sucedida
Intent intent = new Intent(CriarContaActivity.this, TelaInicialActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
} else {
Toast.makeText(this,
task.getException() != null ? task.getException().getMessage() : "Falha ao criar conta com Google",
Toast.LENGTH_LONG).show();
}
});
}
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);