# Exploration: EQ Device Auto-Switch & Settings UX ## Bug: EQ doesn't auto-switch on device connect/disconnect ### Root Cause `EstadoEcualizador.cargarPersistido()` never calls `obtenerDispositivoActual()` at startup. `_dispositivoActualId` stays `null`, so `_resolverPresetActivo()` always returns `_presetPrincipal` (device preset never applied) until the next physical connect/disconnect event. ### What works correctly Once `_dispositivoActualId` is set (via a stream event), `_onDispositivoCambiado()` correctly: sets ID, bootstraps first-seen device, re-resolves 4-level hierarchy, applies preset, notifies listeners. ### Fix Call `obtenerDispositivoActual()` in `cargarPersistido()` after `_configurarSuscripcionDispositivo()` to seed initial device ID. ## Feature: Settings Device List Improvements ### Current state `_SeccionEcualizadorAvanzado` shows raw device IDs (`bt_a2dp:AA:BB:CC`) + preset name. No connection indicator, no renaming, no EQ editing. ### Needed 1. Connection status indicator (green dot if `entry.key == eq.dispositivoActualId`) 2. Device custom name storage (`eq_nombres_dispositivos_v1` SP key) 3. Display name fallback: `customName ?? platformName (non-empty) ?? deviceId` 4. Modal bottom sheet for device editing: rename TextField + EcualizadorWidget 5. Follows existing modal pattern: `showModalBottomSheet(showDragHandle: true, isScrollControlled: true)` ## Affected Files - `lib/estado/estado_ecualizador.dart` — fix init + rename API - `lib/servicios/servicio_ecualizador.dart` — new SP key for names - `lib/pantallas/pantalla_ajustes.dart` — rewrite device section + new modal - Tests for all changes