docs(status): módulo 3 implementado, plan de prueba en dispositivo

This commit is contained in:
Johann
2026-07-04 17:04:26 -06:00
parent 9bfe43b704
commit 0fc8f39a79
+21 -4
View File
@@ -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).