From ce2f3d56753260479581ac4926ad7b4ad0f10465 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 11 Jul 2026 19:11:50 +0300 Subject: [PATCH] Update: 2026-07-11 19:11:50 --- siro_rider/lib/controller/functions/tts.dart | 15 ++++++++++++++- .../map_widget.dart/car_details_widget_to_go.dart | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/siro_rider/lib/controller/functions/tts.dart b/siro_rider/lib/controller/functions/tts.dart index 8d4b5201..40f866a1 100644 --- a/siro_rider/lib/controller/functions/tts.dart +++ b/siro_rider/lib/controller/functions/tts.dart @@ -29,7 +29,20 @@ class TextToSpeechController extends GetxController { if (langCode == 'en') langCode = 'en-US'; bool isAvailable = await flutterTts.isLanguageAvailable(langCode); - if (!isAvailable) langCode = 'en-US'; + if (!isAvailable) { + if (langCode.startsWith('ar')) { + // Try to find ANY available Arabic language + List languages = await flutterTts.getLanguages; + String? fallbackAr = languages + .cast() + .firstWhere((l) => l.startsWith('ar'), orElse: () => ''); + if (fallbackAr != null && fallbackAr.isNotEmpty) { + langCode = fallbackAr; + isAvailable = true; + } + } + if (!isAvailable) langCode = 'en-US'; + } await flutterTts.setLanguage(langCode); await flutterTts.setSpeechRate(0.5); diff --git a/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart b/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart index 51e75a91..1e58cb7c 100644 --- a/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart +++ b/siro_rider/lib/views/home/map_widget.dart/car_details_widget_to_go.dart @@ -150,7 +150,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { // ── Car Selection List ─────────────────────────────── SizedBox( - height: 90, + height: 96, child: ListView.builder( physics: const BouncingScrollPhysics(), scrollDirection: Axis.horizontal, @@ -381,7 +381,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { rawPrice = mapPassengerController.totalPassengerRayehGai; break; default: - return '...'; + return ''; } return rawPrice; }