feat(auto): add an Ecualizador browsable folder with preset selection

On-device feedback showed the equalizer's preset-cycling custom action
looked dead: many head units render custom actions icon-first, and a
monochrome icon cannot legibly encode "which of six presets" the way a
browsable list's text rows can.

This adds an "Ecualizador" folder to the car's browse tree, listing
"Desactivar" first, then the six factory presets by name, with the
currently-active one marked. Selecting a preset routes through the same
playFromMediaId seam every other browse-tree leaf already uses; picking
a preset while the equalizer is off turns it on and applies that preset.

Supersedes the earlier "no equalizer folder" rule (commit 2403da3),
which predated this feedback -- see decision auto/ecualizador-diseno.

The preset-cycling custom action still coexists with the folder in this
commit; it is removed in the next one.
This commit is contained in:
2026-07-31 19:11:01 +02:00
parent 25405564ee
commit 8423ccdd0c
31 changed files with 2686 additions and 2223 deletions
+6
View File
@@ -3068,6 +3068,12 @@ abstract class AppLocalizations {
/// **'Preset: {preset}'**
String eqCustomActionPresetLabel(String preset);
/// No description provided for @autoEqDisableOption.
///
/// In es, this message translates to:
/// **'Desactivar'**
String get autoEqDisableOption;
/// No description provided for @alarmCardVacationPausedBadge.
///
/// In es, this message translates to:
+3
View File
@@ -1688,6 +1688,9 @@ class AppLocalizationsAr extends AppLocalizations {
return 'الإعداد المسبق: $preset';
}
@override
String get autoEqDisableOption => 'تعطيل';
@override
String get alarmCardVacationPausedBadge => 'متوقفة مؤقتًا بسبب الإجازة';
}
+3
View File
@@ -1697,6 +1697,9 @@ class AppLocalizationsBn extends AppLocalizations {
return 'প্রিসেট: $preset';
}
@override
String get autoEqDisableOption => 'বন্ধ করুন';
@override
String get alarmCardVacationPausedBadge => 'ছুটির কারণে বিরত';
}
+3
View File
@@ -1710,6 +1710,9 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Voreinstellung: $preset';
}
@override
String get autoEqDisableOption => 'Deaktivieren';
@override
String get alarmCardVacationPausedBadge => 'Wegen Urlaub pausiert';
}
+3
View File
@@ -1690,6 +1690,9 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Preset: $preset';
}
@override
String get autoEqDisableOption => 'Disable';
@override
String get alarmCardVacationPausedBadge => 'Paused for vacation';
}
+3
View File
@@ -1704,6 +1704,9 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Preset: $preset';
}
@override
String get autoEqDisableOption => 'Desactivar';
@override
String get alarmCardVacationPausedBadge => 'Pausada por vacaciones';
}
+3
View File
@@ -1713,6 +1713,9 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Préréglage : $preset';
}
@override
String get autoEqDisableOption => 'Désactiver';
@override
String get alarmCardVacationPausedBadge => 'En pause pour les vacances';
}
+3
View File
@@ -1692,6 +1692,9 @@ class AppLocalizationsHi extends AppLocalizations {
return 'प्रीसेट: $preset';
}
@override
String get autoEqDisableOption => 'बंद करें';
@override
String get alarmCardVacationPausedBadge => 'छुट्टी के कारण रोका गया';
}
+3
View File
@@ -1700,6 +1700,9 @@ class AppLocalizationsId extends AppLocalizations {
return 'Prasetel: $preset';
}
@override
String get autoEqDisableOption => 'Nonaktifkan';
@override
String get alarmCardVacationPausedBadge => 'Dijeda karena liburan';
}
+3
View File
@@ -1712,6 +1712,9 @@ class AppLocalizationsIt extends AppLocalizations {
return 'Preset attivo: $preset';
}
@override
String get autoEqDisableOption => 'Disattiva';
@override
String get alarmCardVacationPausedBadge => 'In pausa per le vacanze';
}
+3
View File
@@ -1643,6 +1643,9 @@ class AppLocalizationsJa extends AppLocalizations {
return 'プリセット: $preset';
}
@override
String get autoEqDisableOption => '無効化';
@override
String get alarmCardVacationPausedBadge => '休暇のため一時停止中';
}
+3
View File
@@ -1700,6 +1700,9 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Predefinição: $preset';
}
@override
String get autoEqDisableOption => 'Desativar';
@override
String get alarmCardVacationPausedBadge => 'Pausada por férias';
}
+3
View File
@@ -1704,6 +1704,9 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Пресет: $preset';
}
@override
String get autoEqDisableOption => 'Отключить';
@override
String get alarmCardVacationPausedBadge => 'Приостановлено на время отпуска';
}
+3
View File
@@ -1635,6 +1635,9 @@ class AppLocalizationsZh extends AppLocalizations {
return '预设:$preset';
}
@override
String get autoEqDisableOption => '关闭';
@override
String get alarmCardVacationPausedBadge => '因假期已暂停';
}