docs(status): módulo 3 implementado, plan de prueba en dispositivo
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
> Estado vivo del desarrollo. **Actualizar al cerrar cada hito o sesión de trabajo.**
|
> Estado vivo del desarrollo. **Actualizar al cerrar cada hito o sesión de trabajo.**
|
||||||
> Si retomas en un chat nuevo: lee CLAUDE.md (arquitectura/convenciones), PRD-Rachita.md (requisitos) y este archivo (dónde vamos), en ese orden.
|
> Si retomas en un chat nuevo: lee CLAUDE.md (arquitectura/convenciones), PRD-Rachita.md (requisitos) y este archivo (dónde vamos), en ese orden.
|
||||||
|
|
||||||
**Última actualización:** 2026-07-03 (sesión 2)
|
**Última actualización:** 2026-07-04 (sesión 3)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1. Onboarding / Selección de avatar | ✅ **Hecho y verificado en dispositivo real** | Compose + MVVM + DataStore; mascotas 100 % Canvas |
|
| 1. Onboarding / Selección de avatar | ✅ **Hecho y verificado en dispositivo real** | Compose + MVVM + DataStore; mascotas 100 % Canvas |
|
||||||
| 2. Dashboard de hábitos + racha | ✅ **Hecho y verificado en dispositivo real, punta a punta** | Toggle → contador → racha → XP → banner → persistencia tras force-stop |
|
| 2. Dashboard de hábitos + racha | ✅ **Hecho y verificado en dispositivo real, punta a punta** | Toggle → contador → racha → XP → banner → persistencia tras force-stop |
|
||||||
| 3. Monitoreo de batería (overlay <20 % + bloqueo en carga) | ⬜ Siguiente | `BatteryStatusMonitor` ya existe como base; notas en CLAUDE.md §8 |
|
| 3. Monitoreo de batería (overlay <20 % + bloqueo en carga) | 🟨 **Implementado + tests; falta prueba en dispositivo** | El teléfono se desconectó antes de poder probar — plan abajo |
|
||||||
|
|
||||||
### Verificado en dispositivo (2026-07-03, Huawei HBP-LX9, Android 12)
|
### Verificado en dispositivo (2026-07-03, Huawei HBP-LX9, Android 12)
|
||||||
- Onboarding completo: título, 4 tarjetas, mascotas animadas, badge, CTA, persistencia y navegación.
|
- Onboarding completo: título, 4 tarjetas, mascotas animadas, badge, CTA, persistencia y navegación.
|
||||||
@@ -75,5 +75,22 @@
|
|||||||
|
|
||||||
## Próximos pasos (en orden)
|
## Próximos pasos (en orden)
|
||||||
|
|
||||||
1. Módulo 3 — Batería: overlay <20 % con mascota cansada (estados tired/sleep en `MascotIllustrations`), Activity de bloqueo en carga con verificación real de desconexión (`BatteryStatusMonitor` ya provee el flow).
|
1. **Probar módulo 3 en dispositivo** (commit `9bfe43b`, APK ya compilado). Con el teléfono conectado:
|
||||||
2. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.
|
- Bloqueo de carga: abrir la app conectada por USB → el candado nocturno aparece solo.
|
||||||
|
"Ya la desconecté" NO desbloquea (muestra "sigo conectada"); desconectar el cable sí lo quita.
|
||||||
|
En build debug hay botón "salir (debug)" abajo.
|
||||||
|
- Batería baja SIN esperar descarga: `adb shell dumpsys battery unplug` +
|
||||||
|
`adb shell dumpsys battery set level 18` → overlay con mascota cansada y 18 %.
|
||||||
|
Probar bandas: "Ahora no" → set level 14 → reaparece (15) → 9 → 4. Al final:
|
||||||
|
`adb shell dumpsys battery reset`.
|
||||||
|
- Al 100 % cargando: `dumpsys battery set level 100` (enchufado) → mascota despierta (CA-05).
|
||||||
|
2. Diseño visual del bloqueo/overlay: contrastar contra el prototipo (timings §6.4 ya aplicados).
|
||||||
|
3. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.
|
||||||
|
|
||||||
|
## Detalles de implementación del módulo 3 (para retomar)
|
||||||
|
|
||||||
|
- `ui/battery/`: `BatteryUxViewModel` (estados None/LowBattery/Charging), `LowBatteryOverlay`, `ChargingLockScreen`; host en `MainActivity.BatteryUxHost` sobre el NavHost.
|
||||||
|
- CA-04 es estructural: la pantalla de bloqueo se quita SOLO cuando `BatteryStatusMonitor` emite desconexión real; el botón nunca desbloquea.
|
||||||
|
- BA-03: `LowBatteryPolicy` (dominio puro, 7 tests) — descartar en banda 20 silencia hasta caer a 15, etc. Conectar el cargador resetea el ciclo.
|
||||||
|
- Mascota: `MascotMood.Idle/Tired/Sleep` en `MascotIllustrations.kt` (sudor menta, Z's con stagger de 3).
|
||||||
|
- Escape de desarrollo: "salir (debug)" solo `BuildConfig.DEBUG` (el equipo de pruebas vive conectado por USB).
|
||||||
|
|||||||
Reference in New Issue
Block a user