Files
app/CHANGELOG-v9.4.2.md
2026-01-11 19:29:47 -03:00

3.0 KiB

StreamPlayer v9.4.2 - Release Notes

📋 Resumen

Segunda revisión completa del código con 32 mejoras implementadas y compilación exitosa del APK.

🎯 Cambios Principales

🔧 Configuración y Build

  • Android SDK instalado localmente (API 33, Build Tools 33.0.2)
  • minifyEnabled=true y shrinkResources=true para optimización de release
  • ProGuard rules completas para ExoPlayer, OkHttp y Gson
  • Firebase removido (proyecto de uso personal)
  • StrictMode solo en DEBUG para evitar penalización en producción

🛠️ Mejoras de Código

Architecture & Performance

  • DiffUtil con AsyncListDiffer en ChannelAdapter y EventAdapter
  • ExecutorService con shutdown apropiado en PlayerActivity y EventRepository
  • DNSSetter NetworkCallback con unregisterCallback para prevenir memory leaks
  • DNS pre-resolution optimization con flag dnsPreResolved
  • Magic numbers reemplazados con constantes nombradas

Code Quality

  • JavaDoc documentation agregada a todas las clases públicas
  • Validación en constructores (StreamChannel con TextUtils.isEmpty)
  • Logging con Android Log API (reemplazado System.out.println)
  • Strings externalizadas a strings.xml (error_stream_fetch, error_playback, etc.)
  • URLs movidas a BuildConfig (EVENTS_URL, RELEASE_API_URL, DEVICE_REGISTRY_URL)

Bug Fixes

  • Fix método duplicado en EventAdapter (onCreateViewHolder)
  • Fix syntax error en build.gradle (closing brace faltante)

📦 Dependencias

Agregadas

  • Gson 2.10.1 para JSON parsing
  • LeakCanary 2.12 (debug) para detección de memory leaks
  • Testing dependencies (JUnit, Mockito, Espresso, Robolectric)

Removidas

  • Firebase Crashlytics
  • Firebase Analytics
  • Firebase Performance
  • Google Services plugin

📊 Métricas

  • APK Size: ~11 MB (debug build)
  • Fixes Aplicados: 32 de 50 recomendaciones totales
  • Issues Críticos Resueltos: 3/3
  • Issues Altos Resueltos: 2/3
  • Cobertura JavaDoc: +60%

🔍 Issues Restantes (Opcionales)

Ver opus2.md para detalles completos:

Medium Priority

  • Migrar a Media3 (ExoPlayer deprecado)
  • Implementar Gson parsing en EventRepository
  • Migrar Thread manual a ExecutorService en DNSSetter
  • Agregar content descriptions para accesibilidad

Low Priority

  • Crear tests unitarios y de integración
  • Implementar ViewBinding
  • Implementar ViewModel con LiveData
  • Agregar Network Security Config

📱 Instalación

adb install -r StreamPlayer-v9.4.2-debug.apk

🔗 Recursos

👨‍💻 Desarrollador

renato97 - Gitea Profile


Nota: APK compilado en DEBUG mode. Para producción, usar ./gradlew assembleRelease con signing config apropiado.