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

- 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.
This commit is contained in:
Kira (Agent)
2026-04-04 18:09:59 +02:00
parent e9d1f67aa4
commit 81db383a47
18 changed files with 212 additions and 118 deletions

View File

@@ -41,7 +41,11 @@ class ServicioRadio {
Future<List<Emisora>> _get(String path, Map<String, String> params) async {
final servidor = await _servidor();
final uri = _uri(servidor, path, params);
// lastcheckok=1 filtra emisoras que la API verificó como funcionales
final uri = _uri(servidor, path, {
'lastcheckok': '1',
...params,
});
try {
final resp = await http.get(uri, headers: {
'User-Agent': 'PluriWave/0.1.0 (es.freetimelab.pluriwave)',