removed code
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
# 🔧 Actualización - Debug de Movimientos
|
||||
|
||||
## Problema Reportado
|
||||
Los movimientos no se estaban mostrando en la aplicación, solo el número de tarjeta y el saldo.
|
||||
|
||||
## ✅ Cambios Implementados
|
||||
|
||||
### 1. Mejorado el Manejo de Errores
|
||||
- **Antes**: Los errores al leer movimientos se "tragaban" silenciosamente
|
||||
- **Ahora**: Se capturan y muestran en la UI para debugging
|
||||
|
||||
### 2. Comandos APDU Múltiples
|
||||
He implementado 3 intentos diferentes para leer los registros de eventos:
|
||||
|
||||
```kotlin
|
||||
// Intento 1: SFI 0x08 (file 8)
|
||||
0x80 0x2B [record] 0x45 0x1D
|
||||
|
||||
// Intento 2: SFI 0x07
|
||||
0x80 0x2B [record] 0x3D 0x1D
|
||||
|
||||
// Intento 3: Comando simplificado
|
||||
0x80 0x2B [record] 0x05 0x1D
|
||||
```
|
||||
|
||||
Esto aumenta las posibilidades de éxito con diferentes implementaciones de tarjetas Calypso.
|
||||
|
||||
### 3. Status Words Flexibles
|
||||
Ahora la app reconoce:
|
||||
- `9000` - Éxito
|
||||
- `6A83` - Registro no encontrado (normal si no hay movimientos)
|
||||
- `6A82` - Archivo no encontrado (tarjeta sin historial)
|
||||
|
||||
### 4. UI con Información de Debug
|
||||
|
||||
Ahora verás uno de estos escenarios:
|
||||
|
||||
#### Caso A: Movimientos Encontrados ✅
|
||||
```
|
||||
┌─────────────────────────────┐
|
||||
│ Últimos Movimientos │
|
||||
│ │
|
||||
│ Carga +10.00 € │
|
||||
│ 15/03/2026 14:30 │
|
||||
│ Línea 12 │
|
||||
│ ... │
|
||||
└─────────────────────────────┘
|
||||
```
|
||||
|
||||
#### Caso B: Sin Movimientos (con debug) 🔍
|
||||
```
|
||||
┌─────────────────────────────┐
|
||||
│ Últimos Movimientos │
|
||||
│ │
|
||||
│ No se pudieron leer los │
|
||||
│ movimientos │
|
||||
│ │
|
||||
│ Debug: Registro no │
|
||||
│ encontrado │
|
||||
└─────────────────────────────┘
|
||||
```
|
||||
|
||||
## 🧪 Qué Probar Ahora
|
||||
|
||||
1. **Reinstala la app** con el nuevo APK:
|
||||
```
|
||||
app\build\outputs\apk\debug\app-debug.apk
|
||||
```
|
||||
|
||||
2. **Lee tu tarjeta nuevamente**
|
||||
|
||||
3. **Observa la sección "Últimos Movimientos"**:
|
||||
- Si ves movimientos: ¡Perfecto! ✅
|
||||
- Si ves "No se pudieron leer...": Lee el mensaje de debug
|
||||
|
||||
## 📊 Posibles Resultados
|
||||
|
||||
### Resultado 1: Funciona Ahora ✅
|
||||
Si los movimientos aparecen, significa que uno de los nuevos comandos funcionó.
|
||||
|
||||
### Resultado 2: "Debug: Registro no encontrado" ⚠️
|
||||
**Significado**: La tarjeta no tiene registros de eventos disponibles para leer.
|
||||
|
||||
**Posibles causas**:
|
||||
- La tarjeta es nueva y no tiene movimientos todavía
|
||||
- Los registros de eventos están en un archivo diferente
|
||||
- La tarjeta Millennium usa un formato propietario diferente
|
||||
|
||||
**Solución**: Es normal. Algunas tarjetas no almacenan historial localmente.
|
||||
|
||||
### Resultado 3: Otro mensaje de error 🔍
|
||||
Si ves otro error, por favor compártelo conmigo para investigar más.
|
||||
|
||||
## 🔬 Próximos Pasos según el Resultado
|
||||
|
||||
### Si Funciona:
|
||||
- ✅ Ya está todo listo
|
||||
- Puedes usar la app normalmente
|
||||
- Los movimientos se mostrarán cuando estén disponibles
|
||||
|
||||
### Si No Funciona:
|
||||
Necesitaré más información:
|
||||
|
||||
1. **¿Qué dice el mensaje de debug?**
|
||||
- El texto exacto que aparece en rojo
|
||||
|
||||
2. **¿Es una tarjeta usada o nueva?**
|
||||
- Si es nueva, puede no tener historial
|
||||
|
||||
3. **¿Puedes leer movimientos en la app oficial de iTranvias?**
|
||||
- Esto confirmaría que los datos existen
|
||||
|
||||
## 💡 Información Técnica
|
||||
|
||||
### Por qué pueden faltar los movimientos:
|
||||
|
||||
1. **Formato Propietario**: Algunas ciudades usan extensiones propietarias del formato Calypso
|
||||
|
||||
2. **Archivo Diferente**: Los eventos pueden estar en un SFI (Short File Identifier) diferente
|
||||
|
||||
3. **Sin Historial Local**: Algunas tarjetas no almacenan historial en el chip, solo en servidores
|
||||
|
||||
4. **Encriptación**: Algunos campos pueden estar encriptados y requerir claves específicas
|
||||
|
||||
### Comandos que estamos probando:
|
||||
|
||||
Las tarjetas Calypso usan el comando READ RECORD (`0x2B`) con diferentes parámetros:
|
||||
|
||||
- **P1**: Número de registro (1, 2, 3)
|
||||
- **P2**: SFI × 8 + modo (ej: `0x45` = SFI 8, modo 5)
|
||||
- **Le**: Longitud esperada (`0x1D` = 29 bytes)
|
||||
|
||||
Estamos probando los SFI más comunes:
|
||||
- SFI 7 (típico para eventos de validación)
|
||||
- SFI 8 (típico para log de transacciones)
|
||||
- Modo directo sin SFI
|
||||
|
||||
## 📱 Instalación del APK Actualizado
|
||||
|
||||
El nuevo APK está en:
|
||||
```
|
||||
app\build\outputs\apk\debug\app-debug.apk
|
||||
```
|
||||
|
||||
Para instalar:
|
||||
1. Transfiere el APK a tu teléfono
|
||||
2. Abre el APK y permite la instalación
|
||||
3. Si ya tenías la app instalada, se actualizará automáticamente
|
||||
|
||||
## ✅ Build Exitoso
|
||||
|
||||
```
|
||||
BUILD SUCCESSFUL ✅
|
||||
35 tareas ejecutadas
|
||||
7 cambios aplicados
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Resumen
|
||||
|
||||
He mejorado significativamente la lectura de movimientos:
|
||||
- ✅ Múltiples comandos APDU (3 intentos)
|
||||
- ✅ Mejor manejo de errores
|
||||
- ✅ Información de debug visible
|
||||
- ✅ Status words más flexibles
|
||||
|
||||
**Próximo paso**: Prueba la app actualizada y cuéntame qué mensaje ves en la sección de movimientos.
|
||||
|
||||
---
|
||||
|
||||
**Actualización**: 9 de Marzo, 2026
|
||||
**Versión**: 1.1 (Debug Build)
|
||||
**Estado**: Listo para probar
|
||||
|
||||
Reference in New Issue
Block a user