fix(player): stabilize equalizer and visualizer
Build & Deploy Pluriwave / Análisis de código (push) Successful in 12s
Build & Deploy Pluriwave / Build APK + AAB release (push) Successful in 1m50s

This commit is contained in:
2026-05-21 21:56:25 +02:00
parent d0ceaac3f3
commit 921e972183
8 changed files with 427 additions and 228 deletions
+43 -17
View File
@@ -16,6 +16,7 @@ class FakeServicioAudio extends ServicioAudio {
final _estadoController = StreamController<EstadoReproduccion>.broadcast();
final List<PresetEcualizador> presetsAplicados = [];
final List<Emisora> emisorasReproducidas = [];
final List<bool> cambiosEcualizadorActivo = [];
Emisora? _emisoraActual;
EstadoReproduccion _estadoActual = EstadoReproduccion.detenido;
@@ -57,6 +58,11 @@ class FakeServicioAudio extends ServicioAudio {
@override
Future<void> setBanda(int index, double db) async {}
@override
Future<void> setEcualizadorActivo(bool activo) async {
cambiosEcualizadorActivo.add(activo);
}
@override
Future<void> dispose() async {
await _estadoController.close();
@@ -122,13 +128,13 @@ class FakeServicioRadio extends ServicioRadio {
List<List<Emisora>>? tendenciasPorLlamada,
List<Object>? erroresPopularesPorLlamada,
List<Object>? erroresTendenciasPorLlamada,
}) : _populares = populares ?? [],
_tendencias = tendencias ?? [],
_busqueda = busqueda ?? [],
_popularesPorLlamada = popularesPorLlamada ?? const [],
_tendenciasPorLlamada = tendenciasPorLlamada ?? const [],
_erroresPopularesPorLlamada = erroresPopularesPorLlamada ?? const [],
_erroresTendenciasPorLlamada = erroresTendenciasPorLlamada ?? const [];
}) : _populares = populares ?? [],
_tendencias = tendencias ?? [],
_busqueda = busqueda ?? [],
_popularesPorLlamada = popularesPorLlamada ?? const [],
_tendenciasPorLlamada = tendenciasPorLlamada ?? const [],
_erroresPopularesPorLlamada = erroresPopularesPorLlamada ?? const [],
_erroresTendenciasPorLlamada = erroresTendenciasPorLlamada ?? const [];
final List<Emisora> _populares;
final List<Emisora> _tendencias;
@@ -147,14 +153,18 @@ class FakeServicioRadio extends ServicioRadio {
error is Exception ? error : Exception(error.toString());
@override
Future<List<Emisora>> obtenerPopulares({int limit = 30, int offset = 0}) async {
Future<List<Emisora>> obtenerPopulares({
int limit = 30,
int offset = 0,
}) async {
final llamada = obtenerPopularesCalls++;
if (llamada < _erroresPopularesPorLlamada.length) {
throw _normalizarError(_erroresPopularesPorLlamada[llamada]);
}
final data = llamada < _popularesPorLlamada.length
? _popularesPorLlamada[llamada]
: _populares;
final data =
llamada < _popularesPorLlamada.length
? _popularesPorLlamada[llamada]
: _populares;
return data.take(limit).toList();
}
@@ -164,9 +174,10 @@ class FakeServicioRadio extends ServicioRadio {
if (llamada < _erroresTendenciasPorLlamada.length) {
throw _normalizarError(_erroresTendenciasPorLlamada[llamada]);
}
final data = llamada < _tendenciasPorLlamada.length
? _tendenciasPorLlamada[llamada]
: _tendencias;
final data =
llamada < _tendenciasPorLlamada.length
? _tendenciasPorLlamada[llamada]
: _tendencias;
return data.take(limit).toList();
}
@@ -193,12 +204,15 @@ class FakeServicioEcualizador extends ServicioEcualizador {
FakeServicioEcualizador({
PresetEcualizador? principal,
Map<String, PresetEcualizador>? porEmisora,
bool activo = true,
}) : _config = ConfiguracionEcualizador(
principal: principal ?? PresetEcualizador.flat,
porEmisora: porEmisora ?? {},
);
principal: principal ?? PresetEcualizador.flat,
porEmisora: porEmisora ?? {},
activo: activo,
);
ConfiguracionEcualizador _config;
ConfiguracionEcualizador get config => _config;
@override
Future<ConfiguracionEcualizador> cargar() async => _config;
@@ -208,6 +222,16 @@ class FakeServicioEcualizador extends ServicioEcualizador {
_config = ConfiguracionEcualizador(
principal: preset,
porEmisora: _config.porEmisora,
activo: _config.activo,
);
}
@override
Future<void> guardarActivo(bool activo) async {
_config = ConfiguracionEcualizador(
principal: _config.principal,
porEmisora: _config.porEmisora,
activo: activo,
);
}
@@ -218,6 +242,7 @@ class FakeServicioEcualizador extends ServicioEcualizador {
_config = ConfiguracionEcualizador(
principal: _config.principal,
porEmisora: mapa,
activo: _config.activo,
);
}
@@ -228,6 +253,7 @@ class FakeServicioEcualizador extends ServicioEcualizador {
_config = ConfiguracionEcualizador(
principal: _config.principal,
porEmisora: mapa,
activo: _config.activo,
);
}
}