11 KiB
DH Inspección Android · release de campo 0.19.11
Candidata vigente
versionName: 0.19.11;versionCode: 39.- API:
https://dhv2.korexlabs.com/api/v3/; compatible con API 0.29.0-9 / WEB 0.23.0-6. - Antes de cerrar el contenido, el inspector escribe una descripción real de lo actuado.
- La descripción se sincroniza antes del bloqueo, también cuando se trabajó sin conexión.
- Un acta anterior, ya sellada, conserva el texto originalmente registrado.
Referencia de 0.19.10
Candidata anterior
- Fase funcional: Flujo final de campo · Inspección → Acta → Hallazgos → Firma.
versionName: 0.19.10.versionCode: 38.- Application ID release:
com.korexlabs.dhinspeccion. - Application ID debug/QA:
com.korexlabs.dhinspeccion.debug. - API:
https://dhv2.korexlabs.com/api/v3/. - Servidor compatible de esta candidata: API 0.29.0-8 / WEB 0.23.0-5.
La variante debug es independiente de la app productiva y puede instalarse para QA/presentación sin sobrescribir una instalación release histórica.
Ajustes 0.19.10
-
Trabajo offline seguro: Room conserva operaciones pendientes y WorkManager las sincroniza cuando vuelve la red, respetando el orden en que fueron creadas.
-
La cola offline queda separada por usuario autenticado para impedir que una sesión sincronice trabajo de otra persona en el mismo dispositivo.
-
Inspecciones, Actas, Inventario, Hallazgos, fotos, representante, manifestación y cierre conservan una identidad de cliente estable para reintentos idempotentes.
-
Las listas de trabajo, Inventario, Actas, cierres, Hallazgos y estado de firma usan caché local por usuario para poder consultar contexto ya descargado sin conectividad.
-
Antes de incorporar una foto de Hallazgo se muestra Revisar fotografía con Usar esta foto, Volver a tomar y Eliminar foto.
-
Corrige el cierre que enviaba
uploadMode=ONLINE; el contrato vigente usaIMMEDIATEoDEFERRED. -
La APK consulta el estado real de la firma reutilizable del Inspector y no afirma que existe cuando todavía no fue configurada.
-
El Dashboard de Actas prioriza el PDF real del Acta y muestra directamente las fotografías de Hallazgos y del Inventario relacionado.
-
En toda la interfaz activa, la antigua expresión “clasificación técnica” se presenta como Tipo de instalación o Tipo de subinstalación.
-
Corrige el cierre de Actas evitando
NaNen el versionado de LOCKED/SEALED. -
El cierre pasa a Para firmar; la APK captura sólo la manifestación/firma del acompañante.
-
La firma del Inspector se guarda una vez en Mi perfil y se copia de forma inmutable al sellar cada Acta.
-
Elimina la tarjeta duplicada del Acta seleccionada y simplifica la jerarquía visual inspirada en la referencia Figma.
-
El encabezado de Mis inspecciones separa las acciones para que Salir nunca se comprima ni se corte en pantallas angostas.
-
El alta de Hallazgos corrige la captura de versión que podía transformar el número en
NaNdespués del INSERT y devolver error 500. -
Un Hallazgo admite múltiples fotografías con GPS; después de cada captura queda disponible Agregar otra foto con GPS y se muestra el contador.
Procedimiento operativo validado
La APK 0.19.10 fija como recorrido principal de campo:
- Iniciar Inspección. Al iniciarla se habilita el circuito de Actas y Hallazgos; Inventario no es una acción independiente de la Inspección.
- Crear o abrir un Acta. Puede haber varias Actas dentro de una misma Inspección, pero sólo una puede permanecer en elaboración al mismo tiempo. La urgencia todavía no se define.
- Agregar Hallazgos. Recién desde esta acción se selecciona la Instalación/Subinstalación afectada.
- Si el elemento ya existe, se lo selecciona desde el Inventario del Área/Yacimiento de la Inspección.
- Si no existe, se da de alta desde campo sin abandonar el Acta.
- Un elemento nuevo debe completar GPS + fotografía antes de poder recibir Hallazgos.
- Antes del cierre se identifican, para esa Acta, los datos del Representante de la empresa que acompañó el recorrido: nombres y apellidos, DNI, cargo/función y email. Si coincide con el Acta anterior, la APK puede precargarlos, pero deben confirmarse nuevamente.
- Al terminar el contenido del Acta se elige Urgente / No urgente y luego se usa Cerrar contenido y pasar a firma. La urgencia pertenece al Acta completa, nunca a cada Hallazgo; desde ese momento el contenido queda inmutable y el estado visible es Para firmar.
- En Para firmar, el acompañante de la empresa registra su manifestación: conformidad, disconformidad con motivo obligatorio, negativa a firmar con motivo obligatorio o ausencia documentada. La firma del Inspector no se dibuja en la tablet: se guarda una sola vez desde Mi perfil del Dashboard y el servidor copia esa firma de forma inmutable a cada Acta al usar Aplicar mi firma y cerrar Acta.
- La Inspección sólo puede cerrarse cuando todas sus Actas no canceladas están firmadas y cerradas.
La nomenclatura técnica interna de API (DRAFT, LOCKED, SEALED, etc.) no se muestra al inspector: la interfaz usa textos operativos en castellano.
Alta de Instalaciones y Subinstalaciones
El alta móvil queda alineada con el Dashboard y con las validaciones del servidor.
Instalación
- contexto territorial: Yacimiento/Área de la Inspección;
- clasificación técnica compatible;
- Nombre técnico obligatorio;
- Nombre habitual opcional;
- Descripción opcional;
- atributos técnicos definidos por el tipo; sólo los marcados como obligatorios bloquean el guardado;
- código DH generado por el sistema cuando corresponde;
- GPS de la tablet;
- fotografía obligatoria antes de crear Hallazgos.
Subinstalación
Además de lo anterior requiere elegir primero la Instalación padre. El buscador consulta mientras se escribe y cada resultado es seleccionable tocando la tarjeta.
La clasificación y los atributos se obtienen dinámicamente desde el mismo catálogo administrado por el Dashboard; la APK no mantiene listas técnicas paralelas.
Alta de Hallazgos
El alta de Hallazgos usa un selector desplegable con búsqueda por nombre. La pantalla muestra sólo la información necesaria para decidir, mantiene Otro / No está en la lista como salida manual y evita exponer códigos o leyendas internas del catálogo. La fecha de corrección no se solicita al inspector al crear un Hallazgo; los plazos administrativos se gestionan fuera de este alta de campo. Los campos de carga son compactos y el teclado avanza con Siguiente entre ellos.
Actas y firma
La terminología visible se simplifica:
DRAFT→ En elaboración;LOCKED→ Pendiente de firma;SEALED→ Firmada y cerrada.
Cerrar el contenido no cierra automáticamente la Inspección y tampoco obliga a terminar la firma en ese instante: puede continuarse con otra Acta. La urgencia se decide en ese cierre, nunca al crear el borrador. Una vez cerrado el contenido, el Acta es inmutable.
Después de la firma/cierre definitivo se mantiene el circuito documental existente: PDF del Acta e informe INF editable (DOCX) para oficina.
Castellano e identidad visual
Se revisaron las pantallas activas de campo para evitar exponer estados y opciones internas en inglés. Entre otros cambios: Pasaporte/Otro en documentos, estados de Inspección/Acta/Hallazgo en castellano, Correo electrónico, Huella de integridad y terminología de cierre orientada al usuario.
La pantalla de ingreso y el desbloqueo biométrico utilizan la identidad visual de Mendoza ya incorporada al proyecto.
Barrera obligatoria
Todo cambio Android o de API que pueda afectar al cliente móvil debe pasar Android CI / RC:
- validación de identidad, HTTPS y políticas básicas del manifest;
- Android lint;
- pruebas unitarias Android reales, con verificación de que exista al menos una prueba ejecutada;
assembleDebug;assembleReleasepara comprobar que la variante productiva compile;- empaquetado del APK debug con SHA-256 y metadata de commit/versionado.
Además, DH V2 CI debe mantener verdes API, WEB y contrato Docker/migraciones antes de promover cambios que afecten al servidor.
Firma release
La clave histórica de firma no se versiona ni se reemplaza. La CI compila la variante release para detectar roturas, pero una APK productiva que deba actualizar com.korexlabs.dhinspeccion tiene que firmarse con la clave histórica.
No se debe crear una clave nueva para resolver una falta de acceso: eso rompería la continuidad de actualización de tablets que ya tengan una versión firmada con la clave anterior.
Criterio de distribución
Antes de distribuir una APK productiva:
- todas las barreras de CI del SHA exacto deben estar verdes;
- comprobar certificado/huella de firma contra la versión histórica si se distribuirá como actualización productiva;
- realizar actualización sobre al menos una tablet con la versión productiva anterior cuando corresponda;
- ejecutar smoke funcional: ingreso, iniciar Inspección, crear Acta, seleccionar/crear Instalación o Subinstalación, GPS/foto, Hallazgo, cerrar Acta → Pendiente de firma, firma/manifestación, cierre de Acta y cierre de Inspección;
- registrar el SHA Git y SHA-256 de la APK distribuida.
Revisión 0.19.1
- Renovación de sesión coordinada entre los cuatro clientes API; no cierra sesión por pérdida de red, HTTP 429/500 o cancelación.
- Una respuesta tardía no puede restaurar una sesión cerrada ni usar la de otro inspector.
- Guardia de escrituras contra doble toque y conteo correcto de operaciones pendientes.
- Búsquedas descartan respuestas antiguas. Cambio de inspección limpia el Acta anterior.
- Mensajes visibles de permisos/GPS en evidencia y respeto de barras de sistema/teclado.
- Diez nuevas pruebas de comportamiento sobre sesión y concurrencia.
Alcance real
Esta candidata requiere conexión. No implementa trabajo offline ni cola persistente de sincronización; un fallo de red no equivale a guardado. Tras un timeout de escritura debe verificarse el registro antes de repetir. No se presenta el artefacto debug como una release productiva. La firma histórica y el smoke en tablet siguen siendo requisitos para distribuir la release final.
Segunda pasada funcional
- Coordenadas normalizadas al contrato API (6 decimales, precisión 3).
- Yacimiento seleccionable para Hallazgos y como padre explícito de nuevas Instalaciones. Se elimina el fallback que podía presentar un tipo Yacimiento como alta de Instalación.
- Formulario Datos técnicos sobre el elemento seleccionado: carga y guarda las definiciones/valores por familia mediante los endpoints existentes del Dashboard; valida obligatorios, números, Sí/No, fechas y opciones. Es un paso separado del alta estructural y GPS/foto.
- Se agregan siete pruebas para coordenadas y valores técnicos.
Revisión 0.19.3 · flujo conceptual corregido
- Se elimina Inventario de campo como acción independiente de la pantalla de Inspección.
- El alta o selección de Inventario existe únicamente dentro de Agregar Hallazgo.
- El borrador de Acta nace vacío, sin Inventario y sin urgencia predeterminada.
- La urgencia se exige al cerrar el Acta y se persiste en la misma operación que la vuelve inmutable.
inspection_acts.urgencypuede quedar pendiente durante el borrador; el bloqueo exige la decisión y calcula el vencimiento desde allí.