From 6587680b604aa7542c9baa8e8f67a9d47d64cf33 Mon Sep 17 00:00:00 2001 From: renato97 Date: Sun, 11 Jan 2026 19:29:47 -0300 Subject: [PATCH] Add release v9.4.2 changelog and manifest --- CHANGELOG-v9.4.2.md | 91 +++++++++++++++++++++++++++++++++++++ update-manifest-v9.4.2.json | 10 ++++ 2 files changed, 101 insertions(+) create mode 100644 CHANGELOG-v9.4.2.md create mode 100644 update-manifest-v9.4.2.json diff --git a/CHANGELOG-v9.4.2.md b/CHANGELOG-v9.4.2.md new file mode 100644 index 0000000..11207d5 --- /dev/null +++ b/CHANGELOG-v9.4.2.md @@ -0,0 +1,91 @@ +# 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 + +```bash +adb install -r StreamPlayer-v9.4.2-debug.apk +``` + +## 🔗 Recursos + +- **Repositorio:** https://gitea.cbcren.online/renato97/app +- **Branch:** master +- **Commit:** Segunda revisión completa con fixes críticos + +## 👨‍💻 Desarrollador + +**renato97** - [Gitea Profile](https://gitea.cbcren.online/renato97) + +--- + +**Nota:** APK compilado en DEBUG mode. Para producción, usar `./gradlew assembleRelease` con signing config apropiado. diff --git a/update-manifest-v9.4.2.json b/update-manifest-v9.4.2.json new file mode 100644 index 0000000..3a85640 --- /dev/null +++ b/update-manifest-v9.4.2.json @@ -0,0 +1,10 @@ +{ + "versionCode": 94200, + "versionName": "9.4.2", + "minSupportedVersionCode": 90000, + "forceUpdate": false, + "downloadUrl": "http://gitea.cbcren.online/attachments/71b20a85-c66f-4d4c-ac92-8d6d9301141a", + "fileName": "StreamPlayer-v9.4.2-debug.apk", + "sizeBytes": 10653345, + "notes": "# StreamPlayer v9.4.2 - Segunda Revisión Completa\n\n✅ 32 mejoras implementadas\n✅ Android SDK instalado (API 33)\n✅ minifyEnabled=true para optimización\n✅ Firebase removido (uso personal)\n✅ DiffUtil con AsyncListDiffer\n✅ ExecutorService con shutdown\n✅ JavaDoc agregado\n✅ Validación en constructores\n✅ Strings externalizadas\n✅ ProGuard rules completas\n\nVer CHANGELOG-v9.4.2.md para detalles completos." +} \ No newline at end of file