From da12f1792dffcc7afa58c911d17b026f5698515b Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Thu, 22 Jan 2026 23:00:43 +0300 Subject: [PATCH] 26-1-22/3 --- android/app/build.gradle | 4 ++-- .../home/map_passenger_controller.dart | 19 ++++++++++++------- .../google_map_passenger_widget.dart | 4 +++- .../searching_captain_window.dart | 3 ++- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 9968faa..8389deb 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -47,8 +47,8 @@ android { // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = 23 targetSdk = 36 - versionCode = 57 - versionName = '1.0.57' + versionCode = 58 + versionName = '1.1.58' multiDexEnabled = true ndk { abiFilters "armeabi-v7a", "arm64-v8a" diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index cf08bd8..c9f904f 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -967,13 +967,9 @@ class MapPassengerController extends GetxController { } } -// أضف هذا في دالة onClose الرئيسية للكنترولر -// override onClose() { -// disposeRideSocket(); -// _stopDriverLocationPolling(); -// super.onClose(); -// } -// === معالج جديد لموقع السائق === + /// ============================================================================== + /// 6. معالجة تحديث موقع السائق من السوكيت + /// ============================================================================== void handleDriverLocationUpdate(dynamic data) { if (!isSocketConnected || data == null) return; // 🔥 1. تسجيل وقت استلام البيانات (تغذية الـ Watchdog) @@ -995,6 +991,15 @@ class MapPassengerController extends GetxController { } currentLocationOfDrivers = newPos; + // ------------------------------------------------------------------ + // 🔥 تحديث الكاميرا: ضمان بقاء السيارة في منتصف الخريطة + // ------------------------------------------------------------------ + // ملاحظة: تأكد من أن mapController قد تم تهيئته (initialized) + if (mapController != null) { + // نستخدم animateCamera لحركة ناعمة بدلاً من moveCamera القاسية + mapController!.animateCamera(CameraUpdate.newLatLng(newPos)); + } + // ------------------------------------------------------------------ // تحديث الوقت المتبقي (إذا أرسله السيرفر) if (data['eta_seconds'] != null) { diff --git a/lib/views/home/map_widget.dart/google_map_passenger_widget.dart b/lib/views/home/map_widget.dart/google_map_passenger_widget.dart index baaf523..4ede1b4 100644 --- a/lib/views/home/map_widget.dart/google_map_passenger_widget.dart +++ b/lib/views/home/map_widget.dart/google_map_passenger_widget.dart @@ -45,7 +45,9 @@ class GoogleMapPassengerWidget extends StatelessWidget { () async { controller.clearPolyline(); // Ensure we have car data available before routing - if (controller.dataCarsLocationByPassenger != null) { + // if (controller.dataCarsLocationByPassenger != null) { +// i use this check if needed + if (controller.carsLocationByPassenger.isNotEmpty) { await controller.getDirectionMap( '${controller.passengerLocation.latitude},${controller.passengerLocation.longitude}', '${argument.latitude},${argument.longitude}', diff --git a/lib/views/home/map_widget.dart/searching_captain_window.dart b/lib/views/home/map_widget.dart/searching_captain_window.dart index e16dfca..4f8472b 100644 --- a/lib/views/home/map_widget.dart/searching_captain_window.dart +++ b/lib/views/home/map_widget.dart/searching_captain_window.dart @@ -77,7 +77,8 @@ class _SearchingCaptainWindowState extends State child: OutlinedButton( onPressed: () { // [تعديل 3] استدعاء دالة الإلغاء الموحدة - controller.cancelRide(); + controller.changeCancelRidePageShow(); + // (); }, style: OutlinedButton.styleFrom( foregroundColor: AppColor.writeColor,