feat: Implement startup retry mechanism for custom stations and equalizer persistence

- Added state management for startup retry and custom station handling in `EstadoRadio`.
- Created tasks for implementing strict TDD with RED tests for HTTP failure retries and EQ persistence.
- Developed verification report to ensure compliance with TDD practices.
- Introduced fake services for testing, including `FakeServicioAudio`, `FakeServicioFavoritos`, and `FakeServicioRadio`.
- Implemented widget tests for `PantallaInicio` and `PantallaFavoritos` to validate UI behavior with custom stations.
- Enhanced `ServicioRadio` to support host rotation and retry logic for API calls.
- Established a new configuration file to enforce project constraints and testing rules.
This commit is contained in:
Javier Bautista Fernández
2026-04-27 17:34:04 +02:00
parent 922b3b4859
commit d579a0e107
21 changed files with 1902 additions and 156 deletions

View File

@@ -26,4 +26,20 @@ class PresetEcualizador {
PresetEcualizador copyWithBandas(List<double> bandas) =>
PresetEcualizador(nombre: 'Personalizado', bandas: bandas);
@override
bool operator ==(Object other) {
if (identical(this, other)) return true;
if (other is! PresetEcualizador) return false;
if (nombre != other.nombre || bandas.length != other.bandas.length) {
return false;
}
for (int i = 0; i < bandas.length; i++) {
if (bandas[i] != other.bandas[i]) return false;
}
return true;
}
@override
int get hashCode => Object.hash(nombre, Object.hashAll(bandas));
}