Files
dh-inspeccion-v2/android-app/REVIEW_0_19_1.md
T
admin d44ae049f3
Android CI / RC / Android · lint, tests, debug APK, release compile (push) Successful in 5m11s
Android CI / RC / Android · lint, tests, debug APK, release compile (pull_request) Successful in 5m12s
DH V2 CI / API · typecheck, tests, build (pull_request) Successful in 30s
DH V2 CI / WEB · typecheck, build (pull_request) Successful in 18s
Production dependency audit / API · production dependencies (pull_request) Successful in 8s
Production dependency audit / WEB · production dependencies (pull_request) Successful in 8s
DH V2 CI / Docker / scripts contract (pull_request) Successful in 48s
test(android): align 0.19.1 release contract and record field review
2026-09-14 00:04:01 -03:00

4.5 KiB

DH Android 0.19.1 · revisión de candidata

Idea funcional verificada contra código y API

La app es la herramienta del inspector en campo. Oficina administra territorio, operadoras, clasificaciones, campos y catálogo; la APK consulta esas fuentes. Una Inspección contiene varias Actas, con una sola en elaboración simultánea. El Hallazgo pertenece al Acta y al elemento seleccionado. Cerrar contenido lo deja inmutable y pendiente de firma. Firma del inspector y manifestación/firma o negativa de empresa permiten sellar el Acta. La Inspección exige todas sus Actas activas selladas.

Yacimiento, Instalación y Subinstalación son destinos de Hallazgos. Una Instalación nueva debe crearse dentro de un Yacimiento y una Subinstalación dentro de una Instalación compatible. El inventario nacido en campo necesita GPS y foto antes del Hallazgo.

Hallazgos corregidos

Problema observado Corrección
Cuatro clientes renovaban por separado la misma sesión Coordinador compartido; protege rotación, logout y cambio de usuario
Cortes de red durante refresh borraban la sesión Sólo una respuesta 401 de la sesión vigente la invalida
Operaciones solapadas liberaban ocupado antes de terminar Conteo de pendientes y rechazo del segundo guardado
Respuestas de búsquedas antiguas sobrescribían resultados recientes Generación de búsqueda y verificación del ID de inspección
Un Acta anterior podía persistir al cambiar de inspección Limpieza de estado de Acta al abrir otra inspección
Coordenadas crudas excedían decimales admitidos Normalización 6 decimales para coordenadas y 3 para precisión
Inventario móvil ocultaba Yacimientos Selección para Hallazgos y alta de Instalación dentro de Yacimiento
Alta de Instalación podía adoptar otro tipo por fallback Eliminado; pide elegir el Yacimiento padre correcto
Datos técnicos por familia no estaban editables Formulario conectado a technical-values; mismos campos de oficina
Fallos de GPS/permisos en evidencia sin mensaje Error visible y accionable
Barras del sistema/teclado podían tapar controles Insets de sistema y teclado en la raíz

Evidencia automática

25 pruebas Android: 8 contratos existentes y 17 pruebas nuevas de comportamiento (sesión 7, concurrencia 3, GPS 3, campos técnicos 4). Lint debug/release y compilación debug/release en workflow Android. CI general comprueba API, WEB, scripts y migraciones; la auditoría de dependencias se ejecuta separadamente. Consultar las ejecuciones del SHA de la entrega, no sólo un resultado anterior.

Límites de esta candidata

  • Requiere conexión. No existe cola persistente offline ni resolución de conflictos sin señal.
  • Un timeout de escritura puede ocurrir después de guardar en servidor. Revisar el registro antes de repetir; no se afirma idempotencia general de todas las escrituras.
  • Los datos técnicos por familia se completan en un paso separado tras seleccionar/crear el elemento. GPS/foto continúa siendo la barrera de Hallazgos del servidor.
  • No se ejecutó aceptación en tablet física: quedan por comprobar cámara, GPS, biometría, rotación/recreación de actividad, firmas y actualización sobre la APK instalada.
  • La release compila sin firma. Se requiere la clave histórica y su certificado de referencia para distribuir una actualización productiva. No crear otra clave como sustituto.
  • La candidata debug usa com.korexlabs.dhinspeccion.debug y no reemplaza la app productiva. La compatibilidad con una debug anterior depende también de su certificado; no desinstalar una app con información pendiente sin revisar antes.

Recorrido de aceptación en tablet

  1. Ingresar con inspector y cargar inspecciones asignadas.
  2. Iniciar una inspección, crear Acta, seleccionar Yacimiento/Instalación/Subinstalación.
  3. Crear Instalación bajo Yacimiento y Subinstalación compatible; probar GPS permitido/denegado y foto tomada/cancelada.
  4. Completar campos técnicos requeridos, incluyendo No booleano, decimal con coma, fecha y opción de lista; volver a abrir para comprobar persistencia.
  5. Crear Hallazgo catalogado y OTROS, adjuntar evidencia.
  6. Cerrar contenido, comprobar inmutabilidad y estado Pendiente de firma.
  7. Registrar firmas o negativa de empresa; sellar Acta.
  8. Crear otra Acta, comprobar que una pendiente impide cerrar la Inspección; completar y cerrar.
  9. Cortar conexión y recuperarla: errores visibles, sin pérdida de sesión por red ni falso aviso de guardado.
  10. Verificar en Dashboard los mismos registros y documentos.