From ec7f2de651ff6a57eb7617ca65dc5376a57ac482 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 19 Jan 2024 15:17:18 +0300 Subject: [PATCH] 1/19/1 --- .../functions/location_controller.dart | 1 + .../home/captin/home_captain_controller.dart | 6 +- .../home/captin/map_driver_controller.dart | 9 +- .../home/map_passenger_controller.dart | 131 ++++++++---------- .../orderCaptin/order_request_page.dart | 21 +-- .../google_map_passenger_widget.dart | 1 + .../points_page_for_rider.dart | 31 +---- 7 files changed, 84 insertions(+), 116 deletions(-) diff --git a/lib/controller/functions/location_controller.dart b/lib/controller/functions/location_controller.dart index 8bb1f38..25cc811 100644 --- a/lib/controller/functions/location_controller.dart +++ b/lib/controller/functions/location_controller.dart @@ -96,6 +96,7 @@ class LocationController extends GetxController { : null)!; // Print location details + print('myLocation: ${myLocation}'); print('Accuracy: ${_locationData.accuracy}'); print('Latitude: ${_locationData.latitude}'); print('Longitude: ${_locationData.longitude}'); diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index 320d749..730adf5 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -27,6 +27,7 @@ class HomeCaptainController extends GetxController { String totalMoneyInSEFER = '0'; String totalDurationToday = '0'; Timer? timer; + late LatLng myLocation; String totalPoints = '0'; String countRefuse = '0'; bool mapType = false; @@ -146,7 +147,7 @@ class HomeCaptainController extends GetxController { mapHomeCaptaiController = controller; controller.getVisibleRegion(); controller.animateCamera( - CameraUpdate.newLatLng(locationController.myLocation), + CameraUpdate.newLatLng(Get.find().myLocation), ); update(); } @@ -181,6 +182,8 @@ class HomeCaptainController extends GetxController { @override void onInit() async { await addToken(); + // await Get.find().getLocation(); + onButtonSelected(); getPaymentToday(); getAllPayment(); @@ -188,6 +191,7 @@ class HomeCaptainController extends GetxController { onMapCreated(mapHomeCaptaiController!); getRefusedOrderByCaptain(); totalPoints = Get.find().totalPoints; + // LocationController().getLocation(); super.onInit(); } diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index c33103d..57b106e 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -73,13 +73,13 @@ class MapDriverController extends GetxController { String? mapAPIKEY; final zones = []; - void onMapCreated(GoogleMapController controller) { - LocationController locationController = Get.find(); - myLocation = locationController.myLocation; + void onMapCreated(GoogleMapController controller) async { + myLocation = Get.find().location as LatLng; + myLocation = myLocation; mapController = controller; controller.getVisibleRegion(); controller.animateCamera( - CameraUpdate.newLatLngZoom(myLocation, 17), + CameraUpdate.newLatLng(myLocation), ); update(); @@ -442,6 +442,7 @@ class MapDriverController extends GetxController { rideId = Get.arguments['rideId']; durationOfRideValue = Get.arguments['durationOfRideValue']; paymentAmount = Get.arguments['paymentAmount']; + paymentMethod = Get.arguments['paymentMethod']; isHaveSteps = Get.arguments['isHaveSteps']; step0 = Get.arguments['step0']; step1 = Get.arguments['step1']; diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index ccf6a44..0a22ef7 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:math' show cos; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_polyline_algorithm/google_polyline_algorithm.dart'; @@ -208,6 +209,29 @@ class MapPassengerController extends GetxController { update(); } + void getMapPointsForAllMethods() async { + print(placesCoordinate.toString()); + clearPolyline(); + isWayPointStopsSheetUtilGetMap = false; + durationToRide = 0; + wayPointSheetHeight = 0; + for (var i = 0; i < Get.find().wayPoints.length; i++) { + if (placesCoordinate[i + 1].toString() != '') { + await getMapPoints( + placesCoordinate[i].toString(), + placesCoordinate[i + 1].toString(), + i, + ); + } + } + // isWayPointStopsSheet = false; + + changeWayPointStopsSheet(); + bottomSheet(); + showBottomSheet1(); + update(); + } + void convertHintTextStartNewPlaces(int index) { if (placesStart.isEmpty) { hintTextStartPoint = 'Search for your Start point'.tr; @@ -439,19 +463,27 @@ class MapPassengerController extends GetxController { } void getBeginRideFromDriver() async { - var res = await CRUD() - .get(link: AppLink.getRideStatusBegin, payload: {'ride_id': rideId}); - var decode = jsonDecode(res); + try { + var res = await CRUD() + .get(link: AppLink.getRideStatusBegin, payload: {'ride_id': rideId}); + if (res == 'failure') { + print(res); + } + var decode = jsonDecode(res); - if (decode['data']['status'] == 'Begin') { - timeToPassengerFromDriverAfterApplied = 0; - remainingTime = 0; - remainingTimeToPassengerFromDriverAfterApplied = 0; - // isCancelRidePageShown = true; - rideIsBeginPassengerTimer(); - // print('rideTimerBegin: $rideTimerBegin'); - rideTimerBegin = true; - update(); + if (decode['data']['status'] == 'Begin') { + timeToPassengerFromDriverAfterApplied = 0; + remainingTime = 0; + remainingTimeToPassengerFromDriverAfterApplied = 0; + // isCancelRidePageShown = true; + rideIsBeginPassengerTimer(); + // print('rideTimerBegin: $rideTimerBegin'); + rideTimerBegin = true; + update(); + } + } catch (e) { + print('Error: $e'); + // Handle the error or perform any necessary actions } } @@ -645,14 +677,6 @@ class MapPassengerController extends GetxController { cancelRideAfterRejectFromAll(); } - } else if (decod['data'].toString() == 'Cancel') { - remainingTime = 0; - shouldFetch = false; - rideConfirm = false; - FirebaseMessagesController().sendNotificationToDriverMAP( - 'Trip Canceled'.tr, '', driverToken, []); - - update(); } else { delayAndFetchRideStatus( rideId); // Repeat the delay and fetch operation @@ -824,7 +848,6 @@ class MapPassengerController extends GetxController { "status": 'Cancel' }); rideConfirm = false; - totalStepDurations = 0; shouldFetch = false; isPassengerChosen = false; isCashConfirmPageShown = false; @@ -853,7 +876,6 @@ class MapPassengerController extends GetxController { isCashSelectedBeforeConfirmRide = false; isPickerShown = false; totalStepDurations = 0; - totalStepDurations = 0; timeToPassengerFromDriverAfterApplied = 0; update(); } else { @@ -872,9 +894,8 @@ class MapPassengerController extends GetxController { isCashSelectedBeforeConfirmRide = false; timeToPassengerFromDriverAfterApplied = 0; totalStepDurations = 0; - totalStepDurations = 0; changeCancelRidePageShow(); - // clearPolylineAll(); + clearPolyline(); remainingTime = 0; update(); @@ -922,9 +943,10 @@ class MapPassengerController extends GetxController { } void changeWayPointStopsSheet() { - int waypointsLength = Get.find().wayPoints.length; - print('isWayPointStopsSheet $waypointsLength'); - if (waypointsLength > 2) { + // int waypointsLength = Get.find().wayPoints.length; + + print('isWayPointStopsSheet $wayPointIndex'); + if (wayPointIndex > 1) { isWayPointStopsSheet = true; isWayPointStopsSheetUtilGetMap = true; } @@ -1041,50 +1063,6 @@ class MapPassengerController extends GetxController { update(); } - // Future getPlacesListsWayPoint1() async { - // var url = - // '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${wayPoint1Controller.text}&location=${myLocation.latitude},${myLocation.longitude}&radius=50000&language=en&key=${AK.mapAPIKEY.toString()}'; - - // var response = await CRUD().getGoogleApi(link: url, payload: {}); - - // wayPoint1 = response['results']; - // print(wayPoint1); - // update(); - // } - - // Future getPlacesListsWayPoint2() async { - // var url = - // '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${wayPoint2Controller.text}&location=${myLocation.latitude},${myLocation.longitude}&radius=50000&language=en&key=${AK.mapAPIKEY.toString()}'; - - // var response = await CRUD().getGoogleApi(link: url, payload: {}); - - // wayPoint2 = response['results']; - // print(wayPoint2); - // update(); - // } - - // Future getPlacesListsWayPoint3() async { - // var url = - // '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${wayPoint3Controller.text}&location=${myLocation.latitude},${myLocation.longitude}&radius=50000&language=en&key=${AK.mapAPIKEY.toString()}'; - - // var response = await CRUD().getGoogleApi(link: url, payload: {}); - - // wayPoint3 = response['results']; - // print(wayPoint3); - // update(); - // } - - // Future getPlacesListsWayPoint4() async { - // var url = - // '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${wayPoint4Controller.text}&location=${myLocation.latitude},${myLocation.longitude}&radius=50000&language=en&key=${AK.mapAPIKEY.toString()}'; - - // var response = await CRUD().getGoogleApi(link: url, payload: {}); - - // wayPoint4 = response['results']; - // print(wayPoint4); - // update(); - // } - LatLng fromString(String location) { List parts = location.split(','); double lat = double.parse(parts[0]); @@ -1128,11 +1106,14 @@ class MapPassengerController extends GetxController { }); } - void addCustomStartIcon() { - ImageConfiguration config = ImageConfiguration( - size: Size(Get.width * .6, Get.height * .6), + void addCustomStartIcon() async { +// Create the marker with the resized image + + ImageConfiguration config = const ImageConfiguration( + size: Size(20, 20), ); - BitmapDescriptor.fromAssetImage(config, 'assets/images/A.png') + BitmapDescriptor.fromAssetImage(config, 'assets/images/A.png', + mipmaps: false) .then((value) { startIcon = value; update(); diff --git a/lib/views/home/Captin/orderCaptin/order_request_page.dart b/lib/views/home/Captin/orderCaptin/order_request_page.dart index f8e7350..6ad717e 100644 --- a/lib/views/home/Captin/orderCaptin/order_request_page.dart +++ b/lib/views/home/Captin/orderCaptin/order_request_page.dart @@ -177,6 +177,11 @@ class OrderRequestPage extends StatelessWidget { 'order_id': body.toString(), 'status': 'Apply' }); + await CRUD().post(link: AppLink.updateRides, payload: { + 'id': myList[16], + 'rideTimeStart': DateTime.now().toString(), + 'status': 'Apply' + }); // Get.back(); List bodyToPassenger = [ box.read(BoxName.driverID).toString(), @@ -184,14 +189,14 @@ class OrderRequestPage extends StatelessWidget { box.read(BoxName.tokenDriver).toString(), ]; // print(bodyToPassenger); - // FirebaseMessagesController() - // .sendNotificationToPassengerToken( - // 'Apply Ride', - // arguments['DriverList'][9].toString(), - // arguments['DriverList'][9].toString(), - // // box.read(BoxName.tokenDriver).toString(), - // bodyToPassenger, - // ); + FirebaseMessagesController() + .sendNotificationToPassengerToken( + 'Apply Ride', + arguments['DriverList'][9].toString(), + arguments['DriverList'][9].toString(), + // box.read(BoxName.tokenDriver).toString(), + bodyToPassenger, + ); Get.back(); Get.to(() => PassengerLocationMapPage(), arguments: { 'passengerLocation': myList[0].toString(), 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 cb36096..8724e6e 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 @@ -155,6 +155,7 @@ class GoogleMapPassengerWidget extends StatelessWidget { icon: controller.startIcon, infoWindow: const InfoWindow( title: 'Time', + anchor: Offset(0.5, 0.5), // Adjust the anchor as needed // snippet: controller.durationFromDriverToPassenger // .toString(), ), diff --git a/lib/views/home/map_widget.dart/points_page_for_rider.dart b/lib/views/home/map_widget.dart/points_page_for_rider.dart index d1224ce..364f275 100644 --- a/lib/views/home/map_widget.dart/points_page_for_rider.dart +++ b/lib/views/home/map_widget.dart/points_page_for_rider.dart @@ -51,34 +51,9 @@ class PointsPageForRider extends StatelessWidget { ), wayPointController.wayPoints.length > 1 ? ElevatedButton( - onPressed: () { - print(mapPassengerController.placesCoordinate - .toString()); - controller.clearPolyline(); - controller.isWayPointStopsSheetUtilGetMap = - false; - mapPassengerController.durationToRide = 0; - for (var i = 0; - i < wayPointController.wayPoints.length; - i++) { - if (mapPassengerController - .placesCoordinate[i + 1] - .toString() != - '') { - mapPassengerController.getMapPoints( - mapPassengerController - .placesCoordinate[i] - .toString(), - mapPassengerController - .placesCoordinate[i + 1] - .toString(), - i, - ); - } - } - - controller.bottomSheet(); - controller.showBottomSheet1(); + onPressed: () async { + mapPassengerController + .getMapPointsForAllMethods(); }, child: const Text('Get Map'), )