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.
- 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-fase12026-04-04 18:53:02 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes urgentes — petición WhikY
🔴 Fix 1 — Audio en background (CRÍTICO)
PluriWaveAudioHandlerahora gestiona toda la reproducción víaaudio_service.main.dartinicializa conAudioService.init(). La notificación foreground mantiene el audio vivo al apagar pantalla.onTaskRemoved()limpia recursos correctamente.🟠 Fix 2 — Emisoras rotas filtradas
ServicioRadioañadelastcheckok=1en todas las peticiones. Solo emisoras verificadas por Radio Browser API. Reducción drástica de URLs muertas.🟡 Fix 3 — Errores como SnackBar flotante
EstadoRadioemite errores de reproducción/búsqueda porerrorStream._PaginaPrincipalStatesuscribe y muestraSnackBarflotante 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_roundañadido.android:roundIconen AndroidManifest.Pendiente (siguiente PR)
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.