diff --git a/android/app/build.gradle b/android/app/build.gradle index 9508270..8d596f6 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -44,8 +44,8 @@ android { applicationId = "com.intaleq_driver" minSdkVersion = 23 targetSdk = 36 - versionCode = 56 - versionName = '1.0.56' // I've used the higher version name + versionCode = 57 + versionName = '1.1.57' // I've used the higher version name multiDexEnabled = true ndk { diff --git a/lib/controller/firebase/local_notification.dart b/lib/controller/firebase/local_notification.dart index 25c7b09..954c012 100755 --- a/lib/controller/firebase/local_notification.dart +++ b/lib/controller/firebase/local_notification.dart @@ -485,6 +485,15 @@ class NotificationController extends GetxController { } } +// ============================================================================== + // دالة حذف إشعار الطلب (تستدعى عند أخذ الطلب من سائق آخر) + // ============================================================================== + Future cancelOrderNotification() async { + // 1001 هو نفس الآيدي الذي استخدمناه عند عرض الإشعار + await _flutterLocalNotificationsPlugin.cancel(1001); + print("🗑️ Order Notification Cancelled (Taken by another driver)"); + } + Future _scheduleNotificationForTime( int dayOffset, int hour, diff --git a/lib/controller/home/captin/order_request_controller.dart b/lib/controller/home/captin/order_request_controller.dart index 4f0d2f1..37aa12d 100755 --- a/lib/controller/home/captin/order_request_controller.dart +++ b/lib/controller/home/captin/order_request_controller.dart @@ -18,6 +18,7 @@ import '../../../print.dart'; import '../../../views/home/Captin/driver_map_page.dart'; import '../../../views/home/Captin/orderCaptin/marker_generator.dart'; import '../../../views/widgets/mydialoug.dart'; +import '../../firebase/local_notification.dart'; import '../../functions/crud.dart'; import '../../functions/location_controller.dart'; import '../../home/captin/home_captain_controller.dart'; @@ -484,6 +485,8 @@ class OrderRequestController extends GetxController if (takenRideId == myCurrentRideId && whoTookIt != myDriverId) { _isRideTakenHandled = true; endTimer(); + // 1. حذف الإشعار من شريط التنبيهات فوراً + NotificationController().cancelOrderNotification(); if (Get.isSnackbarOpen) Get.closeCurrentSnackbar(); if (Get.isDialogOpen ?? false) Get.back(); Get.back();