fix(v0.3.0): audio background + emisoras rotas + errores toast + icono #4

Merged
FreeTLab merged 1 commits from fix/pluriwave-v010-bugs into feature/mvp-fase1 2026-04-04 18:53:02 +02:00
Owner

Fixes urgentes — petición WhikY

🔴 Fix 1 — Audio en background (CRÍTICO)

PluriWaveAudioHandler ahora gestiona toda la reproducción vía audio_service. main.dart inicializa con AudioService.init(). La notificación foreground mantiene el audio vivo al apagar pantalla. onTaskRemoved() limpia recursos correctamente.

🟠 Fix 2 — Emisoras rotas filtradas

ServicioRadio añade lastcheckok=1 en todas las peticiones. Solo emisoras verificadas por Radio Browser API. Reducción drástica de URLs muertas.

🟡 Fix 3 — Errores como SnackBar flotante

EstadoRadio emite errores de reproducción/búsqueda por errorStream. _PaginaPrincipalState suscribe y muestra SnackBar flotante de 3 segundos. No bloquea la UI. Los errores de carga de lista siguen como banner inline.

🟡 Fix 4 — Icono de app

Generado con Stable Diffusion XL: fondo morado, ondas de radio blancas, estilo Material You. 5 densidades Android (48→192px). ic_launcher_round añadido. android:roundIcon en AndroidManifest.

Pendiente (siguiente PR)

  • Ecualizador 5 bandas (Fase 2 — no urgente)

Nota sobre ramas

Esta rama está basada en feature/mvp-fase1 (PR#3 aún no mergeado). El orden de merge recomendado: PR#3 primero → PR#4 después.

## Fixes urgentes — petición WhikY ### 🔴 Fix 1 — Audio en background (CRÍTICO) `PluriWaveAudioHandler` ahora gestiona toda la reproducción vía `audio_service`. `main.dart` inicializa con `AudioService.init()`. La notificación foreground mantiene el audio vivo al apagar pantalla. `onTaskRemoved()` limpia recursos correctamente. ### 🟠 Fix 2 — Emisoras rotas filtradas `ServicioRadio` añade `lastcheckok=1` en todas las peticiones. Solo emisoras verificadas por Radio Browser API. Reducción drástica de URLs muertas. ### 🟡 Fix 3 — Errores como SnackBar flotante `EstadoRadio` emite errores de reproducción/búsqueda por `errorStream`. `_PaginaPrincipalState` suscribe y muestra `SnackBar` flotante de 3 segundos. No bloquea la UI. Los errores de carga de lista siguen como banner inline. ### 🟡 Fix 4 — Icono de app Generado con Stable Diffusion XL: fondo morado, ondas de radio blancas, estilo Material You. 5 densidades Android (48→192px). `ic_launcher_round` añadido. `android:roundIcon` en AndroidManifest. ### Pendiente (siguiente PR) - Ecualizador 5 bandas (Fase 2 — no urgente) ### Nota sobre ramas Esta rama está basada en `feature/mvp-fase1` (PR#3 aún no mergeado). El orden de merge recomendado: PR#3 primero → PR#4 después.
FreeTLab added 1 commit 2026-04-04 18:10:17 +02:00
- ServicioAudio: delega a PluriWaveAudioHandler (audio_service) para
  mantener audio vivo en background. AudioService.init() en main.dart.
  onTaskRemoved() libera player. mediaItem con nombre/artista/artwork.
- ServicioRadio: lastcheckok=1 en todas las peticiones — solo emisoras
  verificadas como funcionales por Radio Browser API.
- EstadoRadio: errorStream (broadcast) para errores de reproducción y
  búsqueda. App.dart suscribe y muestra SnackBar flotante 3s.
  Los errores de carga de lista siguen como banner inline.
- Icono: generado con SDXL (morado, ondas radio blancas, Material You).
  5 densidades Android (48-192px), ic_launcher_round añadido.
FreeTLab merged commit 287295a345 into feature/mvp-fase1 2026-04-04 18:53:02 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: FreeTLab/pluriwave#4