1.9 KiB
1.9 KiB
✏️ EditarPerfilActivity.java — Edição do Perfil
Ficheiro:
app/src/main/java/com/example/medcuida/pro/EditarPerfilActivity.java
Layout:activity_editar_perfil.xml| Linhas: 125
Descrição Geral
Permite ao médico editar os seus dados pessoais: nome, especialidade e género. As alterações são guardadas simultaneamente nas coleções utilizadores e medicos do Firestore.
Campos Editáveis
| Campo | Tipo de Input | Obrigatório |
|---|---|---|
| Nome completo | TextInputEditText |
✅ Sim |
| Especialidade | TextInputEditText |
✅ Sim |
| Género | AutoCompleteTextView (dropdown) |
Não |
TextInputEditText (só leitura) |
— |
Inicialização (onCreate) — Linhas 32–59
- Verifica autenticação — se não há utilizador, fecha a Activity
- Associa as views do layout
- Configura o dropdown de género com 3 opções:
Masculino,Feminino,Outro - Botão Voltar →
finish() - Botão Guardar →
guardarAlteracoes() - Chama
carregarDados()para preencher os campos atuais
carregarDados() — Linhas 71–83
db.collection("utilizadores").document(currentUserId).get()
- Lê o documento do médico na coleção
utilizadores - Preenche os campos:
nome_completo,especialidade,email,sexo - Em caso de erro → mostra toast
guardarAlteracoes() — Linhas 86–123
Validações (Linhas 87–99)
- Nome não pode estar vazio
- Especialidade não pode estar vazia
Gravação (Linhas 101–122)
Map<String, Object> updates = new HashMap<>();
updates.put("nome_completo", name);
updates.put("especialidade", specialty);
updates.put("sexo", gender);
- Desativa o botão para evitar duplo clique
- Atualiza na coleção
utilizadores - Também atualiza em
medicospara manter sincronizado - Sucesso → mostra toast +
finish() - Erro → reativa o botão