This commit is contained in:
2026-01-11 12:22:59 +00:00
parent 0c54f9a9cc
commit b65817f36c
14 changed files with 681 additions and 1039 deletions

View File

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="24dp"
android:background="@color/background_surface"
tools:context=".GenerateCodeActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Código de Convite"
android:textSize="24sp"
android:textStyle="bold"
android:textColor="@color/neutral_dark"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Partilhe este código com o seu responsável"/>
<TextView
android:id="@+id/text_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:textSize="48sp"
android:textStyle="bold"
android:textColor="@color/primary"
tools:text="123456"/>
<TextView
android:id="@+id/text_timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
tools:text="Expira em 30 segundos"/>
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:visibility="gone"/>
<Button
android:id="@+id/btn_generate_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="Gerar Novo Código"/>
</LinearLayout>

View File

@@ -1,148 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_surface"
android:gravity="center"
android:orientation="vertical"
android:padding="32dp">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginBottom="24dp"
android:src="@android:drawable/ic_lock_lock"
android:tint="@color/guardian_purple_start" />
android:padding="24dp"
android:background="@color/background_surface"
tools:context=".InviteCodeActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Código de Acesso"
android:text="Associar a um Utilizador"
android:textColor="@color/neutral_dark"
android:textSize="24sp"
android:textSize="22sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textModeDescription"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center"
android:text="Gere um código temporário para vincular responsável"
android:textColor="@color/neutral_medium"
android:textSize="14sp" />
android:text="Insira o código de 6 dígitos fornecido pelo utilizador para começar a monitorizar os seus alarmes."
android:textColor="@color/neutral_medium" />
<LinearLayout
android:id="@+id/layoutGenerateCode"
<EditText
android:id="@+id/input_invite_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:background="@drawable/bg_guardian_hero"
android:gravity="center"
android:orientation="vertical"
android:padding="32dp"
android:visibility="visible">
android:hint="Código de 6 dígitos"
android:inputType="number"
android:maxLength="6"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Partilhe este código:"
android:textColor="@android:color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/textInviteCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="------"
android:textColor="@android:color/white"
android:textSize="48sp"
android:textStyle="bold"
android:letterSpacing="0.2" />
<TextView
android:id="@+id/textCountdown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Expira em: 30s"
android:textColor="@color/reminder_info_bg"
android:textSize="16sp"
android:textStyle="bold" />
<Button
android:id="@+id/btnGenerateCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:backgroundTint="@android:color/white"
android:padding="12dp"
android:text="Gerar Novo Código"
android:textAllCaps="false"
android:textColor="@color/guardian_purple_end"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/layoutEnterCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:background="@drawable/bg_guardian_card"
android:orientation="vertical"
android:padding="24dp"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insira o código do utilizador:"
android:textColor="@color/neutral_dark"
android:textSize="16sp"
android:textStyle="bold" />
<EditText
android:id="@+id/inputInviteCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/bg_search"
android:gravity="center"
android:hint="000000"
android:inputType="number"
android:letterSpacing="0.3"
android:maxLength="6"
android:padding="16dp"
android:textColor="@color/neutral_dark"
android:textSize="32sp"
android:textStyle="bold" />
<Button
android:id="@+id/btnValidateCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/bg_new_button"
android:padding="14dp"
android:text="Vincular Responsável"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<Button
android:id="@+id/btnBack"
<ProgressBar
android:id="@+id/progress_bar_invite"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:background="@android:color/transparent"
android:text="← Voltar"
android:textAllCaps="false"
android:textColor="@color/neutral_medium"
android:textSize="14sp" />
</LinearLayout>
android:layout_marginTop="16dp"
android:visibility="gone" />
<Button
android:id="@+id/btn_validate_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Validar e Associar" />
</LinearLayout>

View File

@@ -20,16 +20,16 @@
<ImageView
android:id="@+id/profileButton"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="50dp"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="24dp"
android:layout_marginTop="60dp"
android:background="@drawable/bg_avatar"
android:padding="8dp"
android:padding="12dp"
android:src="@mipmap/ic_launcher_round"
android:contentDescription="Perfil"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app.layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/bottomBar"
@@ -151,4 +151,4 @@
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp"
android:background="@color/background_surface">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/ic_launcher_round"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:text="Bem-vindo ao Bem+"
android:textColor="@color/neutral_dark"
android:textSize="22sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="Esta aplicação ajuda-o a gerir os seus medicamentos, a manter os seus responsáveis informados e a receber lembretes úteis para o seu dia a dia."
android:textColor="@color/neutral_medium"
android:lineSpacingExtra="4dp"
android:textSize="16sp" />
<Button
android:id="@+id/btnSkipIntro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp"
android:text="Começar"
android:background="@drawable/bg_new_button"
android:textColor="@android:color/white"
android:paddingHorizontal="32dp"/>
</LinearLayout>

View File

@@ -45,14 +45,6 @@
android:textColor="@android:color/white"
android:textSize="16sp" />
<ImageView
android:id="@+id/btnSettings"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/bg_icon_button"
android:padding="8dp"
android:src="@android:drawable/ic_menu_manage"
android:tint="@android:color/white" />
</LinearLayout>
</LinearLayout>
@@ -77,13 +69,6 @@
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="Crie lembretes para cada medicamento e acompanhe facilmente."
android:textColor="@color/neutral_medium"
android:textSize="14sp" />
</LinearLayout>
<Button
@@ -106,68 +91,5 @@
android:orientation="vertical"
android:paddingBottom="8dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:background="@drawable/bg_reminder_info_card"
android:orientation="vertical"
android:padding="18dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@android:drawable/ic_dialog_info"
android:tint="@color/primary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:text="Como confirmar medicação"
android:textColor="@color/neutral_dark"
android:textSize="17sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:lineSpacingExtra="4dp"
android:text="• Toque no botão '✓ Confirmar' de cada alarme quando tomar o medicamento\n\n• O responsável receberá automaticamente a notificação\n\n• O botão ficará marcado como 'Tomado' até amanhã"
android:textColor="@color/neutral_medium"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Personalização de notificações"
android:textColor="@color/neutral_dark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Configure frequência, tipos de lembretes e painel de controlos parentais."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>

View File

@@ -89,13 +89,6 @@
android:textSize="14sp" />
</LinearLayout>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/bg_icon_button"
android:padding="10dp"
android:src="@android:drawable/ic_menu_manage"
android:tint="@android:color/white" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
@@ -206,206 +199,12 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android.layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Relaxe e aproveite o dia"
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/bg_reminder_info_card"
android:orientation="vertical"
android:padding="18dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sistema Inteligente"
android:textColor="@color/neutral_dark"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="Recebe lembretes nos momentos certos e dicas baseadas no clima. Configure tudo nas definições."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="Mini-Lembretes Inteligentes baseados no clima"
android:textColor="@color/neutral_dark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Sistema contextual completo"
android:textColor="@color/neutral_dark"
android:textSize="15sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="vertical"
android:paddingBottom="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Temperatura alta (>25°C):"
android:textColor="@color/neutral_dark"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="• Hidratação: “Beba água regularmente, mesmo sem sede”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Proteção: “Sol forte. Fique na sombra entre 11h-16h”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Atividade: “Dia quente! Que tal ir à praia?”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Conforto: “Vista roupa clara e leve”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Temperatura baixa (&lt;15°C):"
android:textColor="@color/neutral_dark"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="• Conforto: “Dia frio. Ótimo para ficar em casa”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Agasalho: “Vista várias camadas de roupa”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Bem-estar: “Um chá ou café quente faz bem”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Chuva:"
android:textColor="@color/neutral_dark"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="• Lembrete: “Não se esqueça do guarda-chuva!”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Atividade: “Leia um livro ou veja um filme”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Tempo perfeito (15-25°C):"
android:textColor="@color/neutral_dark"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="• Passeio: “Tempo ideal! Faça uma caminhada no parque”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Ar fresco: “Abra as janelas para arejar”."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Dicas gerais de saúde:"
android:textColor="@color/neutral_dark"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="• Alongamento (10h-11h)."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="• Postura e movimento (14h-15h)."
android:textColor="@color/neutral_medium"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>

View File

@@ -5,6 +5,7 @@
<color name="primary">#00B894</color>
<color name="accent">#5FE0C5</color>
<color name="primary_light_bg">#E6F8F5</color>
<color name="neutral_dark">#1E2A28</color>
<color name="neutral_medium">#5E7671</color>
<color name="background_surface">#EEFFF7</color>