From 0fc8f39a79d516eb6e19afb38417883b01c8bc0d Mon Sep 17 00:00:00 2001 From: Johann Date: Sat, 4 Jul 2026 17:04:26 -0600 Subject: [PATCH] =?UTF-8?q?docs(status):=20m=C3=B3dulo=203=20implementado,?= =?UTF-8?q?=20plan=20de=20prueba=20en=20dispositivo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- STATUS.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/STATUS.md b/STATUS.md index 5bcd7d2..845ef69 100644 --- a/STATUS.md +++ b/STATUS.md @@ -3,7 +3,7 @@ > 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. -**Ú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 | | 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) - Onboarding completo: título, 4 tarjetas, mascotas animadas, badge, CTA, persistencia y navegación. @@ -75,5 +75,22 @@ ## 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). -2. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions. +1. **Probar módulo 3 en dispositivo** (commit `9bfe43b`, APK ya compilado). Con el teléfono conectado: + - 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).