falta so o chat
This commit is contained in:
BIN
.gradle/9.4.1/checksums/checksums.lock
Normal file
BIN
.gradle/9.4.1/checksums/checksums.lock
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/checksums/md5-checksums.bin
Normal file
BIN
.gradle/9.4.1/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/9.4.1/checksums/sha1-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/9.4.1/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/executionHistory/executionHistory.lock
Normal file
BIN
.gradle/9.4.1/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/fileChanges/last-build.bin
Normal file
BIN
.gradle/9.4.1/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/9.4.1/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/9.4.1/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/9.4.1/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/9.4.1/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
0
.gradle/9.4.1/gc.properties
Normal file
0
.gradle/9.4.1/gc.properties
Normal file
Binary file not shown.
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
Binary file not shown.
Binary file not shown.
24
.idea/caches/deviceStreaming.xml
generated
24
.idea/caches/deviceStreaming.xml
generated
@@ -63,6 +63,30 @@
|
||||
<option name="screenX" value="1080" />
|
||||
<option name="screenY" value="2400" />
|
||||
</PersistentDeviceSelectionData>
|
||||
<PersistentDeviceSelectionData>
|
||||
<option name="api" value="34" />
|
||||
<option name="brand" value="OPPO" />
|
||||
<option name="codename" value="OP5759L1" />
|
||||
<option name="id" value="OP5759L1" />
|
||||
<option name="labId" value="google" />
|
||||
<option name="manufacturer" value="OPPO" />
|
||||
<option name="name" value="CPH2579" />
|
||||
<option name="screenDensity" value="320" />
|
||||
<option name="screenX" value="720" />
|
||||
<option name="screenY" value="1612" />
|
||||
</PersistentDeviceSelectionData>
|
||||
<PersistentDeviceSelectionData>
|
||||
<option name="api" value="35" />
|
||||
<option name="brand" value="realme" />
|
||||
<option name="codename" value="RE58C2" />
|
||||
<option name="id" value="RE58C2" />
|
||||
<option name="labId" value="google" />
|
||||
<option name="manufacturer" value="realme" />
|
||||
<option name="name" value="C53" />
|
||||
<option name="screenDensity" value="320" />
|
||||
<option name="screenX" value="720" />
|
||||
<option name="screenY" value="1600" />
|
||||
</PersistentDeviceSelectionData>
|
||||
<PersistentDeviceSelectionData>
|
||||
<option name="api" value="36" />
|
||||
<option name="brand" value="samsung" />
|
||||
|
||||
1
.idea/misc.xml
generated
1
.idea/misc.xml
generated
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||
|
||||
43
README.md
Normal file
43
README.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 🩺 Med Cuida+
|
||||
|
||||
Bem-vindo ao repositório do **Med Cuida+**, a aplicação Android desenhada especificamente para **médicos** gerirem os seus pacientes, consultas e perfil profissional de forma eficiente.
|
||||
|
||||
Este projeto comunica em tempo real com o **Firebase** (Authentication e Firestore) para manter os dados sempre sincronizados.
|
||||
|
||||
---
|
||||
|
||||
## 📖 Documentação Completa
|
||||
|
||||
Toda a documentação técnica e estrutural da aplicação já foi gerada e está dividida por módulos para facilitar a leitura. Podes encontrar todos os ficheiros na pasta **[`docs/`](./docs)**:
|
||||
|
||||
### 📌 Visão Geral e Arquitetura
|
||||
* [**Visão Geral do Projeto**](./docs/00_VISAO_GERAL.md) - Estrutura, fluxo de ecrãs e bases de dados.
|
||||
* [**Configuração Gradle**](./docs/10_Configuracao_Gradle.md) - Dependências, SDKs e bibliotecas (Firebase, Guava, etc).
|
||||
|
||||
### 🖥️ Componentes Principais (Activities)
|
||||
* [**MainActivity**](./docs/01_MainActivity.md) - Ecrã principal com navegação entre Agenda, Pacientes e Perfil.
|
||||
* [**AgendaActivity**](./docs/02_AgendaActivity.md) - Ecrã alternativo de agenda com visualização em calendário.
|
||||
* [**ChatActivity**](./docs/03_ChatActivity.md) - Sistema de chat em tempo real com pacientes.
|
||||
* [**DetalhePacienteActivity**](./docs/04_DetalhePacienteActivity.md) - Ficha detalhada do paciente.
|
||||
* [**Perfil Médico e Edição**](./docs/06_PerfilMedicoActivity.md) e [**EditarPerfilActivity**](./docs/05_EditarPerfilActivity.md) - Gestão da conta do médico.
|
||||
|
||||
### 📦 Dados e Autenticação
|
||||
* [**Autenticação (Login/Registo)**](./docs/09_Autenticacao.md) - Como funciona a verificação no Firestore.
|
||||
* [**Modelos de Dados**](./docs/07_Models.md) - Classes Java que representam Médicos, Pacientes, Consultas, etc.
|
||||
* [**Adapters**](./docs/08_Adapters.md) - Como as listas (RecyclerView) são construídas.
|
||||
|
||||
### 🎨 Interface (UI/UX)
|
||||
* [**Layouts XML**](./docs/11_Layouts_XML.md) - Estrutura dos ecrãs principais.
|
||||
* [**Layouts Extras e Drawables**](./docs/12_Layouts_Extras_e_Drawables.md) - Ícones, fragments e componentes partilhados.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Como Executar o Projeto
|
||||
|
||||
1. Clone ou abra este repositório no **Android Studio**.
|
||||
2. Certifique-se de que o seu `google-services.json` está presente na pasta `app/` para que o Firebase funcione.
|
||||
3. Sincronize o projeto com o Gradle.
|
||||
4. Execute num emulador ou dispositivo físico com **Android 7.0 (API 24)** ou superior.
|
||||
|
||||
---
|
||||
*Gerado automaticamente para manter a documentação da app organizada.*
|
||||
87
TUDO_SOBRE_A_APP.md
Normal file
87
TUDO_SOBRE_A_APP.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 🏥 Med Cuida+ : Tudo Sobre a App (Manual Completo)
|
||||
|
||||
Este documento centraliza **TUDO** sobre o projeto **Med Cuida+**. Se procuras entender a aplicação de uma ponta à outra — desde o que ela faz para o utilizador até como o código está estruturado —, este é o ficheiro certo.
|
||||
|
||||
---
|
||||
|
||||
## 1. 🌟 O que é a aplicação e para que serve?
|
||||
O **Med Cuida+** é uma aplicação móvel para **médicos**. O objetivo principal é dar aos profissionais de saúde uma ferramenta móvel para gerirem o seu dia a dia.
|
||||
A aplicação permite:
|
||||
* **Ver a Agenda:** Consultas agendadas para o próprio dia ou para os próximos dias.
|
||||
* **Gerir Pacientes:** Aceder à lista de pacientes, ver os detalhes de cada um e o seu histórico.
|
||||
* **Comunicar:** Um sistema de chat direto com os pacientes.
|
||||
* **Gerir o Perfil Profissional:** Editar dados médicos (especialidade, biografia, foto).
|
||||
|
||||
Toda a infraestrutura de dados funciona na nuvem através do **Firebase**. Isto significa que as alterações feitas na app refletem-se em tempo real (ex: uma nova mensagem no chat aparece imediatamente).
|
||||
|
||||
---
|
||||
|
||||
## 2. 📂 A Estrutura do Código (Onde está cada coisa?)
|
||||
|
||||
O projeto Android está dividido em várias camadas. Vamos explicar tudo o que está dentro de `app/src/main/java/com/example/medcuida/pro/`:
|
||||
|
||||
### 📍 Activities (Os ecrãs da aplicação)
|
||||
* **`MainActivity.java`**: É o "coração" da app. Contém a barra de navegação inferior (Bottom Navigation) que permite alternar entre três abas: Agenda, Pacientes e Perfil.
|
||||
* **`AgendaActivity.java`**: Um ecrã dedicado à visualização do calendário de consultas, com filtros por data.
|
||||
* **`ChatActivity.java`**: O ecrã onde o médico troca mensagens com o paciente. Lê as mensagens do Firestore e atualiza a interface (RecyclerView) automaticamente.
|
||||
* **`DetalhePacienteActivity.java`**: Quando clicas num paciente, este ecrã mostra todas as informações dele (dados pessoais, relatórios, etc.).
|
||||
* **`PerfilMedicoActivity.java`**: O ecrã que mostra as informações do médico logado.
|
||||
* **`EditarPerfilActivity.java`**: O ecrã que permite ao médico atualizar o seu nome, especialidade, foto de perfil, etc., guardando depois as mudanças na base de dados.
|
||||
|
||||
### 📦 Models (A representação dos dados)
|
||||
Dentro da pasta `models/`, temos as classes que moldam a informação:
|
||||
* **`Medico.java`**: Guarda o `id`, `nome`, `especialidade`, `email`, etc.
|
||||
* **`Paciente.java`**: Guarda as informações dos doentes.
|
||||
* **`Consulta.java`**: Regista a `data`, `hora`, `medicos` (lista ou string), `pacienteId`, e o `status` (ex: cancelada, pendente).
|
||||
* **`Mensagem.java`**: Guarda o `texto`, `remetenteId`, `timestamp` para o Chat.
|
||||
|
||||
### 🔌 Adapters (A ponte entre os dados e o ecrã)
|
||||
Dentro de `ui/adapters/`, estes ficheiros pegam nas listas de dados (Models) e "desenham-nas" no ecrã:
|
||||
* **`ConsultaAdapter`**: Desenha cada "caixinha" de consulta na agenda.
|
||||
* **`PacienteAdapter`**: Cria as linhas da lista de pacientes.
|
||||
* **`MensagemAdapter`**: Diferencia as mensagens recebidas das enviadas (balão à esquerda vs balão à direita).
|
||||
|
||||
### 🔐 Autenticação (Login e Registo)
|
||||
Dentro de `ui/auth/`:
|
||||
* **`LoginActivity.java`**: Verifica o email/password no Firebase Auth e depois confere na base de dados (Firestore) se esse email pertence a um perfil de "médico" antes de deixar entrar.
|
||||
* **`RegisterActivity.java`**: Permite criar uma nova conta de médico.
|
||||
|
||||
---
|
||||
|
||||
## 3. 🗄️ A Base de Dados (Firebase Firestore)
|
||||
|
||||
A aplicação não tem uma base de dados local; usa o **Firebase Firestore**. Estas são as "tabelas" (coleções) que fazem tudo funcionar:
|
||||
|
||||
1. **`utilizadores`**: Guarda os dados de todas as pessoas que usam a app e os pacientes.
|
||||
2. **`medicos`**: Uma coleção paralela com informações específicas dos profissionais.
|
||||
3. **`consultas`**: Todos os agendamentos. Cada consulta tem associada a si um ID do médico e um ID do paciente.
|
||||
4. **`consultas/{consulta_id}/mensagens`**: Sub-coleções. Cada consulta tem o seu próprio chat independente!
|
||||
5. **`medicamentos`**: Registos da medicação recomendada/em uso.
|
||||
|
||||
---
|
||||
|
||||
## 4. 🎨 O Design e a Interface (XML e Drawables)
|
||||
|
||||
A parte visual vive em `app/src/main/res/`:
|
||||
* **`layout/`**: Onde estão os ficheiros XML que desenham os botões, os textos e as imagens. Ficheiros como `activity_main.xml` ou `item_consulta.xml`.
|
||||
* **`drawable/`**: Onde estão guardados os ícones (como `ic_nav_agenda.xml`, `ic_nav_pacientes.xml`) e os fundos com cantos arredondados (shapes) que dão o aspeto moderno à aplicação.
|
||||
* **`menu/`**: Contém o `menu_bottom.xml` que cria a barra de navegação principal da app.
|
||||
|
||||
---
|
||||
|
||||
## 5. ⚙️ Como a App Funciona por Trás dos Panos (Fluxo)
|
||||
|
||||
1. **O Médico abre a app:** Vai para o `LoginActivity`.
|
||||
2. **Faz Login:** A app vai ao Firebase perguntar "Este email e password estão corretos?". Se sim, a app vai ao Firestore e pergunta "Este utilizador tem o perfil na coleção `medicos`?".
|
||||
3. **Entra na `MainActivity`:** A app carrega o seu ID. De imediato, a `MainActivity` faz uma busca ao Firestore pelas `consultas` cuja data seja a de hoje e onde o `medicoId` corresponda a este médico.
|
||||
4. **Abre um Chat:** O médico clica num doente. A `ChatActivity` arranca. Um `SnapshotListener` (um espião em tempo real) é colocado na sub-coleção `mensagens`. Qualquer mensagem nova que lá caia, a app atualiza o ecrã instantaneamente.
|
||||
|
||||
---
|
||||
|
||||
## 💡 Próximos Passos & Manutenção
|
||||
|
||||
* Se precisares de alterar a **Aparência**: Vais à pasta `res/layout/`.
|
||||
* Se precisares de adicionar um **Novo Dado (ex: NIF)**: Vais ao modelo (`Medico.java`), e alteras a lógica onde os dados são gravados (ex: `EditarPerfilActivity.java`).
|
||||
* Se houver um **Erro de Login**: O código a rever está na `LoginActivity.java`.
|
||||
|
||||
*(Este documento cobre absolutamente toda a arquitetura da aplicação Med Cuida+ de forma resumida e direta ao ponto!)*
|
||||
@@ -34,6 +34,9 @@ public final class ActivityEditarPerfilBinding implements ViewBinding {
|
||||
@NonNull
|
||||
public final AutoCompleteTextView editGender;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText editHorario;
|
||||
|
||||
@NonNull
|
||||
public final TextInputEditText editName;
|
||||
|
||||
@@ -43,12 +46,14 @@ public final class ActivityEditarPerfilBinding implements ViewBinding {
|
||||
private ActivityEditarPerfilBinding(@NonNull ScrollView rootView,
|
||||
@NonNull MaterialButton btnGuardarAlteracoes, @NonNull ImageButton btnVoltar,
|
||||
@NonNull TextInputEditText editEmail, @NonNull AutoCompleteTextView editGender,
|
||||
@NonNull TextInputEditText editName, @NonNull TextInputEditText editSpecialty) {
|
||||
@NonNull TextInputEditText editHorario, @NonNull TextInputEditText editName,
|
||||
@NonNull TextInputEditText editSpecialty) {
|
||||
this.rootView = rootView;
|
||||
this.btnGuardarAlteracoes = btnGuardarAlteracoes;
|
||||
this.btnVoltar = btnVoltar;
|
||||
this.editEmail = editEmail;
|
||||
this.editGender = editGender;
|
||||
this.editHorario = editHorario;
|
||||
this.editName = editName;
|
||||
this.editSpecialty = editSpecialty;
|
||||
}
|
||||
@@ -104,6 +109,12 @@ public final class ActivityEditarPerfilBinding implements ViewBinding {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.edit_horario;
|
||||
TextInputEditText editHorario = ViewBindings.findChildViewById(rootView, id);
|
||||
if (editHorario == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.edit_name;
|
||||
TextInputEditText editName = ViewBindings.findChildViewById(rootView, id);
|
||||
if (editName == null) {
|
||||
@@ -117,7 +128,7 @@ public final class ActivityEditarPerfilBinding implements ViewBinding {
|
||||
}
|
||||
|
||||
return new ActivityEditarPerfilBinding((ScrollView) rootView, btnGuardarAlteracoes, btnVoltar,
|
||||
editEmail, editGender, editName, editSpecialty);
|
||||
editEmail, editGender, editHorario, editName, editSpecialty);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
|
||||
@@ -43,12 +43,18 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
@NonNull
|
||||
public final LinearLayout layTop;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView recyclerAceites;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView recyclerAgenda;
|
||||
|
||||
@NonNull
|
||||
public final RecyclerView recyclerConsultas;
|
||||
|
||||
@NonNull
|
||||
public final TextView textAceitesEmpty;
|
||||
|
||||
@NonNull
|
||||
public final TextView textAgendaInfo;
|
||||
|
||||
@@ -73,6 +79,9 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
@NonNull
|
||||
public final TextView tvNomeMedico;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout viewAceites;
|
||||
|
||||
@NonNull
|
||||
public final LinearLayout viewAgenda;
|
||||
|
||||
@@ -86,12 +95,14 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
@NonNull BottomNavigationView bottomNavigation, @NonNull MaterialButton btnEditarDados,
|
||||
@NonNull MaterialButton btnLogout, @NonNull CalendarView calendarView,
|
||||
@NonNull FrameLayout container, @NonNull LinearLayout layTop,
|
||||
@NonNull RecyclerView recyclerAgenda, @NonNull RecyclerView recyclerConsultas,
|
||||
@NonNull RecyclerView recyclerAceites, @NonNull RecyclerView recyclerAgenda,
|
||||
@NonNull RecyclerView recyclerConsultas, @NonNull TextView textAceitesEmpty,
|
||||
@NonNull TextView textAgendaInfo, @NonNull TextView textAgendaVazia,
|
||||
@NonNull TextView textEmptyState, @NonNull TextView tvCedula, @NonNull TextView tvEmailMedico,
|
||||
@NonNull TextView tvEspecialidade, @NonNull TextView tvGreetingMain,
|
||||
@NonNull TextView tvNomeMedico, @NonNull LinearLayout viewAgenda,
|
||||
@NonNull LinearLayout viewPacientes, @NonNull LinearLayout viewPerfil) {
|
||||
@NonNull TextView tvNomeMedico, @NonNull LinearLayout viewAceites,
|
||||
@NonNull LinearLayout viewAgenda, @NonNull LinearLayout viewPacientes,
|
||||
@NonNull LinearLayout viewPerfil) {
|
||||
this.rootView = rootView;
|
||||
this.bottomNavigation = bottomNavigation;
|
||||
this.btnEditarDados = btnEditarDados;
|
||||
@@ -99,8 +110,10 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
this.calendarView = calendarView;
|
||||
this.container = container;
|
||||
this.layTop = layTop;
|
||||
this.recyclerAceites = recyclerAceites;
|
||||
this.recyclerAgenda = recyclerAgenda;
|
||||
this.recyclerConsultas = recyclerConsultas;
|
||||
this.textAceitesEmpty = textAceitesEmpty;
|
||||
this.textAgendaInfo = textAgendaInfo;
|
||||
this.textAgendaVazia = textAgendaVazia;
|
||||
this.textEmptyState = textEmptyState;
|
||||
@@ -109,6 +122,7 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
this.tvEspecialidade = tvEspecialidade;
|
||||
this.tvGreetingMain = tvGreetingMain;
|
||||
this.tvNomeMedico = tvNomeMedico;
|
||||
this.viewAceites = viewAceites;
|
||||
this.viewAgenda = viewAgenda;
|
||||
this.viewPacientes = viewPacientes;
|
||||
this.viewPerfil = viewPerfil;
|
||||
@@ -177,6 +191,12 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.recycler_aceites;
|
||||
RecyclerView recyclerAceites = ViewBindings.findChildViewById(rootView, id);
|
||||
if (recyclerAceites == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.recycler_agenda;
|
||||
RecyclerView recyclerAgenda = ViewBindings.findChildViewById(rootView, id);
|
||||
if (recyclerAgenda == null) {
|
||||
@@ -189,6 +209,12 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.text_aceites_empty;
|
||||
TextView textAceitesEmpty = ViewBindings.findChildViewById(rootView, id);
|
||||
if (textAceitesEmpty == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.text_agenda_info;
|
||||
TextView textAgendaInfo = ViewBindings.findChildViewById(rootView, id);
|
||||
if (textAgendaInfo == null) {
|
||||
@@ -237,6 +263,12 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.view_aceites;
|
||||
LinearLayout viewAceites = ViewBindings.findChildViewById(rootView, id);
|
||||
if (viewAceites == null) {
|
||||
break missingId;
|
||||
}
|
||||
|
||||
id = R.id.view_agenda;
|
||||
LinearLayout viewAgenda = ViewBindings.findChildViewById(rootView, id);
|
||||
if (viewAgenda == null) {
|
||||
@@ -256,9 +288,10 @@ public final class ActivityMainBinding implements ViewBinding {
|
||||
}
|
||||
|
||||
return new ActivityMainBinding((RelativeLayout) rootView, bottomNavigation, btnEditarDados,
|
||||
btnLogout, calendarView, container, layTop, recyclerAgenda, recyclerConsultas,
|
||||
textAgendaInfo, textAgendaVazia, textEmptyState, tvCedula, tvEmailMedico, tvEspecialidade,
|
||||
tvGreetingMain, tvNomeMedico, viewAgenda, viewPacientes, viewPerfil);
|
||||
btnLogout, calendarView, container, layTop, recyclerAceites, recyclerAgenda,
|
||||
recyclerConsultas, textAceitesEmpty, textAgendaInfo, textAgendaVazia, textEmptyState,
|
||||
tvCedula, tvEmailMedico, tvEspecialidade, tvGreetingMain, tvNomeMedico, viewAceites,
|
||||
viewAgenda, viewPacientes, viewPerfil);
|
||||
}
|
||||
String missingId = rootView.getResources().getResourceName(id);
|
||||
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||
|
||||
@@ -7,3 +7,4 @@ com.example.medcuida.pro.app-packageDebugResources-5 /Users/230405/Desktop/med C
|
||||
com.example.medcuida.pro.app-debug-6 /Users/230405/Desktop/med Cuida+/app/build/intermediates/merged_res/debug/mergeDebugResources
|
||||
com.example.medcuida.pro.app-debug-7 /Users/230405/Desktop/med Cuida+/app/src/debug/res
|
||||
com.example.medcuida.pro.app-main-8 /Users/230405/Desktop/med Cuida+/app/src/main/res
|
||||
gradleHome-0 /Users/230405/.gradle
|
||||
Binary file not shown.
@@ -1,2 +1,2 @@
|
||||
appMetadataVersion=1.1
|
||||
androidGradlePluginVersion=9.1.1
|
||||
androidGradlePluginVersion=9.2.0
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_editar_perfil" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_editar_perfil.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_editar_perfil_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="101" endOffset="12"/></Target><Target id="@+id/btn_voltar" view="ImageButton"><Expressions/><location startLine="14" startOffset="8" endLine="20" endOffset="42"/></Target><Target id="@+id/edit_name" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="38" startOffset="12" endLine="43" endOffset="52"/></Target><Target id="@+id/edit_specialty" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="52" startOffset="12" endLine="57" endOffset="42"/></Target><Target id="@+id/edit_gender" view="AutoCompleteTextView"><Expressions/><location startLine="67" startOffset="12" endLine="71" endOffset="42"/></Target><Target id="@+id/edit_email" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="80" startOffset="12" endLine="86" endOffset="54"/></Target><Target id="@+id/btn_guardar_alteracoes" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="89" startOffset="8" endLine="98" endOffset="45"/></Target></Targets></Layout>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_editar_perfil" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_editar_perfil.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_editar_perfil_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="115" endOffset="12"/></Target><Target id="@+id/btn_voltar" view="ImageButton"><Expressions/><location startLine="14" startOffset="8" endLine="20" endOffset="42"/></Target><Target id="@+id/edit_name" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="38" startOffset="12" endLine="43" endOffset="52"/></Target><Target id="@+id/edit_specialty" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="52" startOffset="12" endLine="57" endOffset="42"/></Target><Target id="@+id/edit_gender" view="AutoCompleteTextView"><Expressions/><location startLine="67" startOffset="12" endLine="71" endOffset="42"/></Target><Target id="@+id/edit_horario" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="80" startOffset="12" endLine="85" endOffset="42"/></Target><Target id="@+id/edit_email" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="94" startOffset="12" endLine="100" endOffset="54"/></Target><Target id="@+id/btn_guardar_alteracoes" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="103" startOffset="8" endLine="112" endOffset="45"/></Target></Targets></Layout>
|
||||
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.RelativeLayout"><Targets><Target tag="layout/activity_main_0" view="RelativeLayout"><Expressions/><location startLine="1" startOffset="0" endLine="241" endOffset="16"/></Target><Target id="@+id/lay_top" view="LinearLayout"><Expressions/><location startLine="8" startOffset="4" endLine="27" endOffset="18"/></Target><Target id="@+id/tv_greeting_main" view="TextView"><Expressions/><location startLine="19" startOffset="8" endLine="26" endOffset="51"/></Target><Target id="@+id/container" view="FrameLayout"><Expressions/><location startLine="29" startOffset="4" endLine="230" endOffset="17"/></Target><Target id="@+id/view_agenda" view="LinearLayout"><Expressions/><location startLine="37" startOffset="8" endLine="95" endOffset="22"/></Target><Target id="@+id/calendarView" view="CalendarView"><Expressions/><location startLine="54" startOffset="16" endLine="58" endOffset="55"/></Target><Target id="@+id/text_agenda_info" view="TextView"><Expressions/><location startLine="61" startOffset="12" endLine="69" endOffset="57"/></Target><Target id="@+id/recycler_agenda" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="76" startOffset="16" endLine="81" endOffset="50"/></Target><Target id="@+id/text_agenda_vazia" view="TextView"><Expressions/><location startLine="83" startOffset="16" endLine="92" endOffset="49"/></Target><Target id="@+id/view_pacientes" view="LinearLayout"><Expressions/><location startLine="98" startOffset="8" endLine="122" endOffset="22"/></Target><Target id="@+id/text_empty_state" view="TextView"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="45"/></Target><Target id="@+id/recycler_consultas" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="114" startOffset="12" endLine="121" endOffset="46"/></Target><Target id="@+id/view_perfil" view="LinearLayout"><Expressions/><location startLine="125" startOffset="8" endLine="229" endOffset="22"/></Target><Target id="@+id/tv_nome_medico" view="TextView"><Expressions/><location startLine="160" startOffset="20" endLine="168" endOffset="58"/></Target><Target id="@+id/tv_email_medico" view="TextView"><Expressions/><location startLine="170" startOffset="20" endLine="177" endOffset="59"/></Target><Target id="@+id/tv_especialidade" view="TextView"><Expressions/><location startLine="186" startOffset="20" endLine="193" endOffset="58"/></Target><Target id="@+id/tv_cedula" view="TextView"><Expressions/><location startLine="195" startOffset="20" endLine="201" endOffset="48"/></Target><Target id="@+id/btn_editar_dados" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="205" startOffset="12" endLine="215" endOffset="51"/></Target><Target id="@+id/btn_logout" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="217" startOffset="12" endLine="228" endOffset="44"/></Target><Target id="@+id/bottom_navigation" view="com.google.android.material.bottomnavigation.BottomNavigationView"><Expressions/><location startLine="232" startOffset="4" endLine="239" endOffset="43"/></Target></Targets></Layout>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.RelativeLayout"><Targets><Target tag="layout/activity_main_0" view="RelativeLayout"><Expressions/><location startLine="1" startOffset="0" endLine="268" endOffset="16"/></Target><Target id="@+id/lay_top" view="LinearLayout"><Expressions/><location startLine="8" startOffset="4" endLine="27" endOffset="18"/></Target><Target id="@+id/tv_greeting_main" view="TextView"><Expressions/><location startLine="19" startOffset="8" endLine="26" endOffset="51"/></Target><Target id="@+id/container" view="FrameLayout"><Expressions/><location startLine="29" startOffset="4" endLine="257" endOffset="17"/></Target><Target id="@+id/view_agenda" view="LinearLayout"><Expressions/><location startLine="37" startOffset="8" endLine="95" endOffset="22"/></Target><Target id="@+id/calendarView" view="CalendarView"><Expressions/><location startLine="54" startOffset="16" endLine="58" endOffset="55"/></Target><Target id="@+id/text_agenda_info" view="TextView"><Expressions/><location startLine="61" startOffset="12" endLine="69" endOffset="57"/></Target><Target id="@+id/recycler_agenda" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="76" startOffset="16" endLine="81" endOffset="50"/></Target><Target id="@+id/text_agenda_vazia" view="TextView"><Expressions/><location startLine="83" startOffset="16" endLine="92" endOffset="49"/></Target><Target id="@+id/view_pacientes" view="LinearLayout"><Expressions/><location startLine="98" startOffset="8" endLine="122" endOffset="22"/></Target><Target id="@+id/text_empty_state" view="TextView"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="45"/></Target><Target id="@+id/recycler_consultas" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="114" startOffset="12" endLine="121" endOffset="46"/></Target><Target id="@+id/view_aceites" view="LinearLayout"><Expressions/><location startLine="125" startOffset="8" endLine="149" endOffset="22"/></Target><Target id="@+id/text_aceites_empty" view="TextView"><Expressions/><location startLine="131" startOffset="12" endLine="140" endOffset="45"/></Target><Target id="@+id/recycler_aceites" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="141" startOffset="12" endLine="148" endOffset="46"/></Target><Target id="@+id/view_perfil" view="LinearLayout"><Expressions/><location startLine="152" startOffset="8" endLine="256" endOffset="22"/></Target><Target id="@+id/tv_nome_medico" view="TextView"><Expressions/><location startLine="187" startOffset="20" endLine="195" endOffset="58"/></Target><Target id="@+id/tv_email_medico" view="TextView"><Expressions/><location startLine="197" startOffset="20" endLine="204" endOffset="59"/></Target><Target id="@+id/tv_especialidade" view="TextView"><Expressions/><location startLine="213" startOffset="20" endLine="220" endOffset="58"/></Target><Target id="@+id/tv_cedula" view="TextView"><Expressions/><location startLine="222" startOffset="20" endLine="228" endOffset="48"/></Target><Target id="@+id/btn_editar_dados" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="232" startOffset="12" endLine="242" endOffset="51"/></Target><Target id="@+id/btn_logout" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="244" startOffset="12" endLine="255" endOffset="44"/></Target><Target id="@+id/bottom_navigation" view="com.google.android.material.bottomnavigation.BottomNavigationView"><Expressions/><location startLine="259" startOffset="4" endLine="266" endOffset="43"/></Target></Targets></Layout>
|
||||
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_editar_perfil" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_editar_perfil.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_editar_perfil_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="101" endOffset="12"/></Target><Target id="@+id/btn_voltar" view="ImageButton"><Expressions/><location startLine="14" startOffset="8" endLine="20" endOffset="42"/></Target><Target id="@+id/edit_name" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="38" startOffset="12" endLine="43" endOffset="52"/></Target><Target id="@+id/edit_specialty" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="52" startOffset="12" endLine="57" endOffset="42"/></Target><Target id="@+id/edit_gender" view="AutoCompleteTextView"><Expressions/><location startLine="67" startOffset="12" endLine="71" endOffset="42"/></Target><Target id="@+id/edit_email" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="80" startOffset="12" endLine="86" endOffset="54"/></Target><Target id="@+id/btn_guardar_alteracoes" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="89" startOffset="8" endLine="98" endOffset="45"/></Target></Targets></Layout>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_editar_perfil" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_editar_perfil.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_editar_perfil_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="115" endOffset="12"/></Target><Target id="@+id/btn_voltar" view="ImageButton"><Expressions/><location startLine="14" startOffset="8" endLine="20" endOffset="42"/></Target><Target id="@+id/edit_name" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="38" startOffset="12" endLine="43" endOffset="52"/></Target><Target id="@+id/edit_specialty" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="52" startOffset="12" endLine="57" endOffset="42"/></Target><Target id="@+id/edit_gender" view="AutoCompleteTextView"><Expressions/><location startLine="67" startOffset="12" endLine="71" endOffset="42"/></Target><Target id="@+id/edit_horario" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="80" startOffset="12" endLine="85" endOffset="42"/></Target><Target id="@+id/edit_email" view="com.google.android.material.textfield.TextInputEditText"><Expressions/><location startLine="94" startOffset="12" endLine="100" endOffset="54"/></Target><Target id="@+id/btn_guardar_alteracoes" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="103" startOffset="8" endLine="112" endOffset="45"/></Target></Targets></Layout>
|
||||
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.RelativeLayout"><Targets><Target tag="layout/activity_main_0" view="RelativeLayout"><Expressions/><location startLine="1" startOffset="0" endLine="241" endOffset="16"/></Target><Target id="@+id/lay_top" view="LinearLayout"><Expressions/><location startLine="8" startOffset="4" endLine="27" endOffset="18"/></Target><Target id="@+id/tv_greeting_main" view="TextView"><Expressions/><location startLine="19" startOffset="8" endLine="26" endOffset="51"/></Target><Target id="@+id/container" view="FrameLayout"><Expressions/><location startLine="29" startOffset="4" endLine="230" endOffset="17"/></Target><Target id="@+id/view_agenda" view="LinearLayout"><Expressions/><location startLine="37" startOffset="8" endLine="95" endOffset="22"/></Target><Target id="@+id/calendarView" view="CalendarView"><Expressions/><location startLine="54" startOffset="16" endLine="58" endOffset="55"/></Target><Target id="@+id/text_agenda_info" view="TextView"><Expressions/><location startLine="61" startOffset="12" endLine="69" endOffset="57"/></Target><Target id="@+id/recycler_agenda" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="76" startOffset="16" endLine="81" endOffset="50"/></Target><Target id="@+id/text_agenda_vazia" view="TextView"><Expressions/><location startLine="83" startOffset="16" endLine="92" endOffset="49"/></Target><Target id="@+id/view_pacientes" view="LinearLayout"><Expressions/><location startLine="98" startOffset="8" endLine="122" endOffset="22"/></Target><Target id="@+id/text_empty_state" view="TextView"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="45"/></Target><Target id="@+id/recycler_consultas" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="114" startOffset="12" endLine="121" endOffset="46"/></Target><Target id="@+id/view_perfil" view="LinearLayout"><Expressions/><location startLine="125" startOffset="8" endLine="229" endOffset="22"/></Target><Target id="@+id/tv_nome_medico" view="TextView"><Expressions/><location startLine="160" startOffset="20" endLine="168" endOffset="58"/></Target><Target id="@+id/tv_email_medico" view="TextView"><Expressions/><location startLine="170" startOffset="20" endLine="177" endOffset="59"/></Target><Target id="@+id/tv_especialidade" view="TextView"><Expressions/><location startLine="186" startOffset="20" endLine="193" endOffset="58"/></Target><Target id="@+id/tv_cedula" view="TextView"><Expressions/><location startLine="195" startOffset="20" endLine="201" endOffset="48"/></Target><Target id="@+id/btn_editar_dados" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="205" startOffset="12" endLine="215" endOffset="51"/></Target><Target id="@+id/btn_logout" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="217" startOffset="12" endLine="228" endOffset="44"/></Target><Target id="@+id/bottom_navigation" view="com.google.android.material.bottomnavigation.BottomNavigationView"><Expressions/><location startLine="232" startOffset="4" endLine="239" endOffset="43"/></Target></Targets></Layout>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="com.example.medcuida.pro" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.RelativeLayout"><Targets><Target tag="layout/activity_main_0" view="RelativeLayout"><Expressions/><location startLine="1" startOffset="0" endLine="268" endOffset="16"/></Target><Target id="@+id/lay_top" view="LinearLayout"><Expressions/><location startLine="8" startOffset="4" endLine="27" endOffset="18"/></Target><Target id="@+id/tv_greeting_main" view="TextView"><Expressions/><location startLine="19" startOffset="8" endLine="26" endOffset="51"/></Target><Target id="@+id/container" view="FrameLayout"><Expressions/><location startLine="29" startOffset="4" endLine="257" endOffset="17"/></Target><Target id="@+id/view_agenda" view="LinearLayout"><Expressions/><location startLine="37" startOffset="8" endLine="95" endOffset="22"/></Target><Target id="@+id/calendarView" view="CalendarView"><Expressions/><location startLine="54" startOffset="16" endLine="58" endOffset="55"/></Target><Target id="@+id/text_agenda_info" view="TextView"><Expressions/><location startLine="61" startOffset="12" endLine="69" endOffset="57"/></Target><Target id="@+id/recycler_agenda" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="76" startOffset="16" endLine="81" endOffset="50"/></Target><Target id="@+id/text_agenda_vazia" view="TextView"><Expressions/><location startLine="83" startOffset="16" endLine="92" endOffset="49"/></Target><Target id="@+id/view_pacientes" view="LinearLayout"><Expressions/><location startLine="98" startOffset="8" endLine="122" endOffset="22"/></Target><Target id="@+id/text_empty_state" view="TextView"><Expressions/><location startLine="104" startOffset="12" endLine="113" endOffset="45"/></Target><Target id="@+id/recycler_consultas" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="114" startOffset="12" endLine="121" endOffset="46"/></Target><Target id="@+id/view_aceites" view="LinearLayout"><Expressions/><location startLine="125" startOffset="8" endLine="149" endOffset="22"/></Target><Target id="@+id/text_aceites_empty" view="TextView"><Expressions/><location startLine="131" startOffset="12" endLine="140" endOffset="45"/></Target><Target id="@+id/recycler_aceites" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="141" startOffset="12" endLine="148" endOffset="46"/></Target><Target id="@+id/view_perfil" view="LinearLayout"><Expressions/><location startLine="152" startOffset="8" endLine="256" endOffset="22"/></Target><Target id="@+id/tv_nome_medico" view="TextView"><Expressions/><location startLine="187" startOffset="20" endLine="195" endOffset="58"/></Target><Target id="@+id/tv_email_medico" view="TextView"><Expressions/><location startLine="197" startOffset="20" endLine="204" endOffset="59"/></Target><Target id="@+id/tv_especialidade" view="TextView"><Expressions/><location startLine="213" startOffset="20" endLine="220" endOffset="58"/></Target><Target id="@+id/tv_cedula" view="TextView"><Expressions/><location startLine="222" startOffset="20" endLine="228" endOffset="48"/></Target><Target id="@+id/btn_editar_dados" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="232" startOffset="12" endLine="242" endOffset="51"/></Target><Target id="@+id/btn_logout" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="244" startOffset="12" endLine="255" endOffset="44"/></Target><Target id="@+id/bottom_navigation" view="com.google.android.material.bottomnavigation.BottomNavigationView"><Expressions/><location startLine="259" startOffset="4" endLine="266" endOffset="43"/></Target></Targets></Layout>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user