fix(audio): make the audio diagnostics visible in release builds
Every diagnostic line in the audio path used `dart:developer`'s `log()`. That function writes to the VM service, which a RELEASE build does not have — so in the only build that ever runs in a car, all eleven of them went nowhere. `debugPrint`/`print` do reach logcat in release; `log()` does not. That includes the two channels built specifically to end the guessing: - `registrarErrorAudioService`, which subscribes to `AudioService.asyncError` so the plugin's swallowed platform exceptions stop vanishing (b0271fa). It moved them from a dropped PublishSubject to a dropped log call. - `_trazarEstadoPublicado`, the published-state trace added in7054a4cto settle why the car's play button never becomes pause. So "no evidence" was never a quiet app. It was an app writing its evidence somewhere release builds discard. Several rounds of hypotheses were argued without data that the app was already producing. All eleven now use `debugPrint` with a `[PluriWave][Tag]` prefix, so one filter catches the audio path and the existing alarm lines together: adb logcat | grep PluriWave No behaviour changes. Tests: 1158, unchanged.
This commit is contained in:
@@ -70,7 +70,10 @@ class ServicioEcualizador {
|
||||
final porEmisora = _leerPresetsPorEmisora(prefs);
|
||||
final presetsDispositivo = _leerMapa(prefs, _keyPresetsPorDispositivo);
|
||||
final presetsMatriz = _leerMapa(prefs, _keyPresetsMatriz);
|
||||
final nombresDispositivos = _leerMapaStrings(prefs, _keyNombresDispositivos);
|
||||
final nombresDispositivos = _leerMapaStrings(
|
||||
prefs,
|
||||
_keyNombresDispositivos,
|
||||
);
|
||||
return ConfiguracionEcualizador(
|
||||
principal: principal,
|
||||
porEmisora: porEmisora,
|
||||
@@ -124,21 +127,22 @@ class ServicioEcualizador {
|
||||
String prefijo,
|
||||
) async {
|
||||
final presetsPorDispositivo = _leerMapa(prefs, _keyPresetsPorDispositivo);
|
||||
final dispositivos = presetsPorDispositivo.keys
|
||||
.where((clave) => clave.startsWith(prefijo))
|
||||
.toList();
|
||||
final dispositivos =
|
||||
presetsPorDispositivo.keys
|
||||
.where((clave) => clave.startsWith(prefijo))
|
||||
.toList();
|
||||
|
||||
final nombres = _leerMapaStrings(prefs, _keyNombresDispositivos);
|
||||
final nombresAPurgar = nombres.keys
|
||||
.where((clave) => clave.startsWith(prefijo))
|
||||
.toList();
|
||||
final nombresAPurgar =
|
||||
nombres.keys.where((clave) => clave.startsWith(prefijo)).toList();
|
||||
|
||||
final matriz = _leerMapa(prefs, _keyPresetsMatriz);
|
||||
final matrizAPurgar = matriz.keys.where((clave) {
|
||||
final separador = clave.indexOf(':');
|
||||
if (separador == -1) return false;
|
||||
return clave.substring(separador + 1).startsWith(prefijo);
|
||||
}).toList();
|
||||
final matrizAPurgar =
|
||||
matriz.keys.where((clave) {
|
||||
final separador = clave.indexOf(':');
|
||||
if (separador == -1) return false;
|
||||
return clave.substring(separador + 1).startsWith(prefijo);
|
||||
}).toList();
|
||||
|
||||
for (final clave in dispositivos) {
|
||||
presetsPorDispositivo.remove(clave);
|
||||
@@ -183,11 +187,12 @@ class ServicioEcualizador {
|
||||
// (station UUIDs are RFC4122 and contain no colons — multi-device-eq
|
||||
// ADR-3), since deviceId itself may contain colons (e.g. a MAC-based id).
|
||||
final presetsMatriz = _leerMapa(prefs, _keyPresetsMatriz);
|
||||
final clavesMatrizAPurgar = presetsMatriz.keys.where((clave) {
|
||||
final separador = clave.indexOf(':');
|
||||
if (separador == -1) return false;
|
||||
return clave.substring(separador + 1) == deviceId;
|
||||
}).toList();
|
||||
final clavesMatrizAPurgar =
|
||||
presetsMatriz.keys.where((clave) {
|
||||
final separador = clave.indexOf(':');
|
||||
if (separador == -1) return false;
|
||||
return clave.substring(separador + 1) == deviceId;
|
||||
}).toList();
|
||||
if (clavesMatrizAPurgar.isNotEmpty) {
|
||||
for (final clave in clavesMatrizAPurgar) {
|
||||
presetsMatriz.remove(clave);
|
||||
|
||||
Reference in New Issue
Block a user