fix(player): stabilize equalizer and visualizer
This commit is contained in:
+43
-17
@@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user