From ca59d9e3b7bc637201e225777948f65734a3b669 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Mon, 2 Oct 2023 06:58:46 +0300 Subject: [PATCH] 10/2/1 --- lib/controller/firebase/firbase_messge.dart | 38 ++++--------------- lib/controller/home/map_page_controller.dart | 2 +- .../passenger_info_window.dart | 1 + .../timer_to_passenger_from_driver.dart | 19 ++++++++++ .../passenger_location_dirction.dart | 5 ++- 5 files changed, 32 insertions(+), 33 deletions(-) diff --git a/lib/controller/firebase/firbase_messge.dart b/lib/controller/firebase/firbase_messge.dart index b337d76..3d5854f 100644 --- a/lib/controller/firebase/firbase_messge.dart +++ b/lib/controller/firebase/firbase_messge.dart @@ -178,6 +178,12 @@ class FirebasMessagesController extends GetxController { ); } else if (message.notification!.title!.contains('Promo')) { Get.to(const PromosPassengerPage()); + } else if (message.notification!.title == ('Ride Begin')) { + Get.snackbar( + 'Trip Begin'.tr, + 'by Passenger'.tr, + backgroundColor: AppColor.yellowColor, + ); } } }); @@ -464,21 +470,7 @@ class FirebasMessagesController extends GetxController { } } - void sendNotificationToDriverId( - String title, - body, - strin1, - strin2, - strin3, - strin4, - strin5, - strin6, - string7, - string8, - passengerName, - passengertoken, - passengerPhone, - token) async { + void sendNotificationToDriverId(String title, body, token) async { http .post(Uri.parse('https://fcm.googleapis.com/fcm/send'), headers: { @@ -491,21 +483,7 @@ class FirebasMessagesController extends GetxController { 'body': body, 'sound': 'true' }, - 'data': { - 'myList': jsonEncode([ - strin1, - strin2, - strin3, - strin4, - strin5, - strin6, - string7, - string8, - passengerName, - passengertoken, - passengerPhone - ]), - }, + 'data': {}, 'priority': 'high', 'to': token, })) diff --git a/lib/controller/home/map_page_controller.dart b/lib/controller/home/map_page_controller.dart index 2d94153..75378e5 100644 --- a/lib/controller/home/map_page_controller.dart +++ b/lib/controller/home/map_page_controller.dart @@ -214,7 +214,7 @@ class MapController extends GetxController { box.read(BoxName.phone).toString(), durationByPassenger.toString(), distanceByPassenger.toString(), - paymentController.isWalletChecked.toString() //todo if it is work + paymentController.isWalletChecked.toString() ]; FirebasMessagesController().sendNotificationToDriverMAP( 'Order', diff --git a/lib/views/home/map_widget.dart/passenger_info_window.dart b/lib/views/home/map_widget.dart/passenger_info_window.dart index cb67920..2c0bcd1 100644 --- a/lib/views/home/map_widget.dart/passenger_info_window.dart +++ b/lib/views/home/map_widget.dart/passenger_info_window.dart @@ -11,6 +11,7 @@ class PassengerInfoWindow extends StatelessWidget { @override Widget build(BuildContext context) { + Get.put(MapController()); return GetBuilder( builder: (controller) => controller.isPassengerInfoWindow ? Positioned( diff --git a/lib/views/home/map_widget.dart/timer_to_passenger_from_driver.dart b/lib/views/home/map_widget.dart/timer_to_passenger_from_driver.dart index d59014a..e630f3b 100644 --- a/lib/views/home/map_widget.dart/timer_to_passenger_from_driver.dart +++ b/lib/views/home/map_widget.dart/timer_to_passenger_from_driver.dart @@ -3,10 +3,13 @@ import 'package:get/get.dart'; import 'package:ride/constant/links.dart'; import 'package:ride/views/widgets/elevated_btn.dart'; +import '../../../constant/box_name.dart'; import '../../../constant/colors.dart'; import '../../../constant/style.dart'; +import '../../../controller/firebase/firbase_messge.dart'; import '../../../controller/functions/crud.dart'; import '../../../controller/home/map_page_controller.dart'; +import '../../../main.dart'; class TimerToPassengerFromDriver extends StatelessWidget { const TimerToPassengerFromDriver({ @@ -66,6 +69,8 @@ class TimerToPassengerFromDriver extends StatelessWidget { onPressed: () async { MapController mapController = Get.find(); + final firebasMessagesController = + Get.put(FirebasMessagesController()); //todo start the trip and rest all counter ,start new counter of the trip time await CRUD() .post(link: AppLink.updateRides, payload: { @@ -74,6 +79,20 @@ class TimerToPassengerFromDriver extends StatelessWidget { 'status': 'Applied' }); mapController.driverArrivePassenger(); + // Send notification to driver to alert him that trip is begin + firebasMessagesController + .sendNotificationToDriverId( + 'Ride Begin', + box.read(BoxName.name).toString(), + mapController + .dataCarsLocationByPassenger['message'][0] + ['token'] + .toString(), + ); + print(mapController + .dataCarsLocationByPassenger['message'][0] + ['token'] + .toString()); Get.snackbar( 'The Ride is Begin'.tr, '', diff --git a/lib/views/orderCaptin/passenger_location_dirction.dart b/lib/views/orderCaptin/passenger_location_dirction.dart index 6343b5f..616b8ec 100644 --- a/lib/views/orderCaptin/passenger_location_dirction.dart +++ b/lib/views/orderCaptin/passenger_location_dirction.dart @@ -9,10 +9,11 @@ import '../widgets/mycircular.dart'; class PassengerLocationDirection extends StatelessWidget { PassengerLocationDirection({super.key}); - final LocationController locationController = Get.put(LocationController()); + // final LocationController locationController = Get.put(LocationController()); // final MapDirection mapDirection = Get.find(); @override Widget build(BuildContext context) { + Get.put(LocationController()); // mapDirection.getMap();//todo get this argument return MyScafolld( title: 'Map'.tr, @@ -22,7 +23,7 @@ class PassengerLocationDirection extends StatelessWidget { child: GetBuilder( builder: (controller) => GoogleMap( initialCameraPosition: CameraPosition( - target: locationController.myLocation, + target: controller.myLocation, zoom: 15, ), )),