feat(eq): android auto custom equalizer and robust device detection
- MainActivity: onListen re-emits the current active device and registers the audio device callback idempotently, so recreated activities resync instead of freezing the active-device id on a disconnected device. - servicio_dispositivo_audio: resubscribir() re-opens the event channel; estado_ecualizador exposes refrescarDispositivoActual() with an in-flight guard, invoked on app resume and when opening advanced EQ options, clearing stale green-dot device selections. - navegacion_auto/servicio_audio: new 'Personalizado' browse tree in Android Auto (5 band folders, 13 gain steps each) applied live via setBanda; preset and gain taps persist at device level when multi-device EQ is active and respect station/matrix overrides, with apply-before-persist ordering and children-changed notifications. - l10n: regenerate stale generated localizations; add rxdart as direct dependency for the subscribeToChildren override.
This commit is contained in:
@@ -63,22 +63,22 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
Object minutes,
|
||||
Object seconds,
|
||||
) {
|
||||
return '$hours ? $minutes ? $seconds ?';
|
||||
return '$hours س $minutes د $seconds ث';
|
||||
}
|
||||
|
||||
@override
|
||||
String durationMinutesSeconds(Object minutes, Object seconds) {
|
||||
return '$minutes ? $seconds ?';
|
||||
return '$minutes د $seconds ث';
|
||||
}
|
||||
|
||||
@override
|
||||
String durationMinutesOnly(Object minutes) {
|
||||
return '$minutes ?';
|
||||
return '$minutes د';
|
||||
}
|
||||
|
||||
@override
|
||||
String durationSecondsOnly(Object seconds) {
|
||||
return '$seconds ?';
|
||||
return '$seconds ث';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -1297,4 +1297,34 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get eqDeviceConnected => 'متصل';
|
||||
|
||||
@override
|
||||
String get localMusicSectionTitle => 'الموسيقى المحلية (Android Auto)';
|
||||
|
||||
@override
|
||||
String get localMusicSectionDescription =>
|
||||
'اختر مجلدًا على هذا الجهاز لتصفح ملفاته الصوتية وتشغيلها من السيارة.';
|
||||
|
||||
@override
|
||||
String get localMusicFolderNotConfigured => 'لم يتم تحديد مجلد';
|
||||
|
||||
@override
|
||||
String get localMusicFolderTitle => 'مجلد الموسيقى المحلية';
|
||||
|
||||
@override
|
||||
String get localMusicChoosePath => 'اختيار مجلد';
|
||||
|
||||
@override
|
||||
String get localMusicChangePath => 'تغيير المجلد';
|
||||
|
||||
@override
|
||||
String get localMusicFolderUpdated => 'تم تحديث مجلد الموسيقى المحلية';
|
||||
|
||||
@override
|
||||
String localMusicFolderSaveError(Object error) {
|
||||
return 'تعذّر حفظ المجلد: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'مجلد محدد';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user