Some checks failed
Flutter CI/CD — PluriWave / Test + Build (pull_request) Has been cancelled
- VisualizadorAudio: 24 barras verticales con movimiento orgánico (senos compuestos con fases aleatorias). Activo=animación fluida, parado=decaimiento suave. Sin FFT/micrófono. Integrado en PantallaReproductor entre info emisora y controles. - IndicadorReproduccion: 3 barras compactas para MiniReproductor. Reemplaza el icono estático, pulsa mientras hay audio activo.
4.8 KiB
4.8 KiB
Changelog — PluriWave
[0.5.0] — 2026-04-04
Añadido
- VisualizadorAudio — visualizador de barras animadas en
PantallaReproductor. 24 barras verticales con movimiento orgánico pseudo-aleatorio (combinación de ondas seno con fases distintas). Se activa al reproducir y decae suavemente al parar. Sin FFT real ni permisos de micrófono — animación simulada visualmente equivalente a las apps de streaming. - IndicadorReproduccion — versión compacta de 3 barras para el
MiniReproductor. Reemplaza el icono estático de radio y pulsa mientras hay audio activo.
[0.4.0] — 2026-04-04
Añadido
- PantallaReproductor — pantalla completa del reproductor. Accesible tocando MiniReproductor o cualquier emisora. Incluye: artwork/logo grande con sombra animada al reproducir, nombre + chips info (país, idioma), codec/bitrate, controles play/pause/stop con indicador "en vivo", botón favorito (toggle), widget de timer (iniciar/cancelar desde la pantalla), animación de entrada slide-up. Transición pageRoute desde cualquier pantalla.
- PantallaAjustes — pantalla de ajustes básica (tab nuevo en NavigationBar). Muestra estado del sistema (filtro emisoras, audio background), conteo de favoritos, preview de features próximas (Export/Import, radio personalizada, ecualizador).
- MiniReproductor — ahora es tappable: toca la barra para abrir PantallaReproductor.
- NavigationBar — añadido tab "Ajustes" (4 destinos: Inicio/Buscar/Favoritos/Ajustes).
[0.3.0] — 2026-04-04
Fixes (prioridad alta — petición WhikY)
- Audio en background —
ServicioAudiorefactorizado para delegar toda la reproducción aPluriWaveAudioHandler(audio_service). La notificación foreground de Android mantiene el audio vivo al apagar pantalla. Handler inicializado enmain.dartconAudioService.init()y registrado globalmente.onTaskRemovedlibera recursos al cerrar la app.mediaItempropagado con nombre, artista y artwork de la emisora. - Filtrar emisoras rotas —
ServicioRadioañadelastcheckok=1en todas las peticiones a la API. Solo se devuelven emisoras verificadas como funcionales por Radio Browser. - Errores como SnackBar —
EstadoRadioemite errores de reproducción y búsqueda porerrorStream(StreamController broadcast)._PaginaPrincipalState.didChangeDependenciessuscribe al stream y muestraSnackBarflotante de 3 segundos. Los errores de carga de lista siguen como banner inline (no bloquean la UI). - Icono de app — Generado con Stable Diffusion XL: diseño morado, ondas de radio blancas, estilo Material You. Todos los tamaños Android generados (mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi, 48-192px).
ic_launcher_roundañadido.android:roundIconen AndroidManifest.
Ficheros modificados
| Fichero | Cambio |
|---|---|
lib/main.dart |
AudioService.init() + registrarHandler() |
lib/servicios/servicio_audio.dart |
Arquitectura background completa |
lib/servicios/servicio_radio.dart |
lastcheckok=1 en todas las peticiones |
lib/estado/estado_radio.dart |
errorStream en lugar de campo _error |
lib/app.dart |
Listener errorStream → SnackBar + theme SnackBar |
android/app/src/main/AndroidManifest.xml |
roundIcon |
android/app/src/main/res/mipmap-*/ |
Iconos generados (5 densidades) |
[0.2.0] — 2026-04-04
Añadido
- CI/CD Gitea Actions — workflow
.gitea/workflows/ci.ymlpara el runnermacmini-flutter. Jobs en secuencia:flutter pub get→flutter test→flutter build apk --release→flutter build appbundle --release. APK y AAB subidos como artifacts con el SHA del commit en el nombre (pluriwave-apk-<sha>,pluriwave-aab-<sha>). Notificación Telegram al finalizar: ✅ éxito con commit y rama, ❌ fallo con enlace al log. Activado en push amainy PRs contramain. ARQ-REVISION-F1.md— revisión de arquitectura del stack Flutter. Veredicto: aprobado. Sin conflictos de dependencias (audio_sessioncompartido entrejust_audioyaudio_servicesin colisión;rxdartsin conflicto). Todas las licencias OSI-approved (MIT, Apache-2.0, BSD). Ajustes pendientes: actualizarjust_audioa ^0.10.0 con Flutter ≥3.27.0, signing real para Play Store,google_mobile_adscomentado hasta tener Ad Unit IDs.
Notas técnicas
- Signing:
build.gradle.ktsusa clave debug para release (TODO preexistente). Válido para CI interno y testing. Play Store requiere keystore como secret en Gitea. - Secrets necesarios:
TELEGRAM_BOT_TOKENyTELEGRAM_CHAT_ID(Settings → Secrets del repo en Gitea).
Ficheros añadidos
| Fichero | Descripción |
|---|---|
.gitea/workflows/ci.yml |
Workflow CI/CD Flutter completo (+66 líneas) |
ARQ-REVISION-F1.md |
Revisión arquitectura F1 — stack, licencias, ajustes (+143 líneas) |