61 lines
3.5 KiB
Markdown
61 lines
3.5 KiB
Markdown
# DH Inspección Android · release Campo Dinámico 0.17.0
|
|
|
|
## Candidata vigente
|
|
|
|
- Fase funcional: **Campo Dinámico / alta rápida de Inventario**.
|
|
- `versionName`: **0.17.0**.
|
|
- `versionCode`: **26**.
|
|
- Application ID release: `com.korexlabs.dhinspeccion`.
|
|
- Application ID debug/QA: `com.korexlabs.dhinspeccion.debug`.
|
|
- API: `https://dhv2.korexlabs.com/api/v3/`.
|
|
- Launcher de presentación: adaptación vectorial local inspirada en el escudo institucional publicado por Gobierno de Mendoza en `mendoza.gov.ar`, para reemplazar el ícono genérico del sistema.
|
|
|
|
La variante debug es independiente de la app productiva y puede instalarse para QA/presentación sin sobrescribir una instalación release histórica.
|
|
|
|
## Novedades de campo 0.17.0
|
|
|
|
La pantalla de una Inspección incorpora un acceso destacado a **Modo campo rápido**. La carga de una Subinstalación se resuelve como flujo guiado:
|
|
|
|
1. elegir la **Instalación padre** dentro del Yacimiento de la Inspección;
|
|
2. buscar y seleccionar la **clasificación técnica** compatible, identificar el elemento y completar únicamente los datos dinámicos que correspondan;
|
|
3. tocar **Guardar y tomar foto**: la APK captura GPS y abre la cámara automáticamente.
|
|
|
|
Se mantienen las reglas de integridad existentes: la fotografía sigue siendo obligatoria antes de habilitar Hallazgos, el alta queda ligada al contexto de la Inspección, se conserva la posibilidad de buscar Inventario existente y el mecanismo de fusión de duplicados continúa disponible para altas de campo.
|
|
|
|
La búsqueda de clasificación técnica está preparada para catálogos extensos de Subinstalaciones sin obligar al inspector a recorrer una fila horizontal completa.
|
|
|
|
## Barrera obligatoria
|
|
|
|
Todo cambio Android o de API que pueda afectar al cliente móvil debe pasar `Android CI / RC`:
|
|
|
|
1. validación de identidad, HTTPS y políticas básicas del manifest;
|
|
2. Android lint;
|
|
3. unit tests Android reales, con verificación de que exista al menos una prueba ejecutada;
|
|
4. `assembleDebug`;
|
|
5. `assembleRelease` para comprobar que la variante productiva compile;
|
|
6. empaquetado del APK debug con SHA-256 y metadata de commit/versionado.
|
|
|
|
La barrera de lint exige además manejo explícito de la revocación de permisos de ubicación durante una captura GPS y declara la cámara como capacidad de hardware opcional, sin relajar permisos ni desactivar reglas globalmente.
|
|
|
|
El artefacto de CI contiene:
|
|
|
|
- APK debug;
|
|
- archivo `.sha256`;
|
|
- `release-metadata.txt` con fase, versión, versionCode, commit, applicationId, API base y canal.
|
|
|
|
## Firma release
|
|
|
|
La clave histórica de firma **no se versiona ni se reemplaza**. La CI compila la variante release para detectar roturas, pero la APK productiva final debe firmarse con la clave histórica antes de instalarse como actualización de `com.korexlabs.dhinspeccion`.
|
|
|
|
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;
|
|
- realizar actualización sobre al menos una tablet con la versión productiva anterior;
|
|
- ejecutar smoke funcional contra el entorno objetivo: login, lista de inspecciones, inicio, alta rápida de Subinstalación, GPS/foto, búsqueda de Inventario existente, Acta, Hallazgo y cierre;
|
|
- registrar el SHA Git y SHA-256 de la APK distribuida.
|