diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 78aaa6d..792f465 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -661,6 +661,7 @@ class MapPassengerController extends GetxController { var decode = jsonDecode(res); if (decode['data']['status'] == 'Begin') { + //todo from sql or get storage getMap( decode['data']['start_location'], decode['data']['end_location']); // timeToPassengerFromDriverAfterApplied = 0; @@ -880,7 +881,7 @@ class MapPassengerController extends GetxController { shouldFetch = true; isBottomSheetShown = false; timeToPassengerFromDriverAfterApplied = 60; - + driversToken.remove(driverToken); List body = [ '${data[0]["start_location"]['lat']},${data[0]["start_location"]['lng']}', '${data[0]["end_location"]['lat']},${data[0]["end_location"]['lng']}', @@ -940,21 +941,21 @@ class MapPassengerController extends GetxController { Timer(const Duration(milliseconds: 200), () async { if (shouldFetch) { // //print('shouldFetch is =$shouldFetch'); - var res = await CRUD() - .get(link: AppLink.getRideStatus, payload: {'id': rideId}); - print(res); - var decod = jsonDecode(res); + var res = await getRideStatus(rideId); + // print(res); + // var decod = jsonDecode(res); print(' 0000000000000000000000000000000000000000000000000'); - print(decod['data']); - if (decod['data'].toString() == 'Apply') { + print(res); + if (res.toString() == 'Apply') { // getUpdatedRideForDriverApply(rideId); shouldFetch = false; // Stop further fetches statusRide = 'Apply'; rideConfirm = false; isSearchingWindow = false; update(); - startTimer(); - } else if (decod['data'].toString() == 'Refused') { + startTimerFromDriverToPassengerAfterApplied(); + // startTimer(); + } else if (res.toString() == 'Refused') { // isDriversTokensSend = false; if (isDriversTokensSend == false) { confirmRideForAllDriverAvailable(); @@ -973,20 +974,22 @@ class MapPassengerController extends GetxController { Timer(const Duration(milliseconds: 200), () async { if (shouldFetch) { // //print('shouldFetch is =$shouldFetch'); - var res = await CRUD() - .get(link: AppLink.getRideStatus, payload: {'id': rideId}); + var res = await getRideStatus(rideId); print(res); - var decod = jsonDecode(res); + // var decod = jsonDecode(res); // print(' 0000000000000000000000000000000000000000000000000'); // print(decod['data']); - if (decod['data'].toString() == 'Apply') { + if (res.toString() == 'Apply') { getUpdatedRideForDriverApply(rideId); + shouldFetch = false; // Stop further fetches statusRide = 'Apply'; rideConfirm = false; isSearchingWindow = false; update(); - startTimer(); + startTimerFromDriverToPassengerAfterApplied(); + } else if (res.toString() == 'Refused') { + delayAndFetchRideStatus(rideId); } } }); @@ -1023,10 +1026,10 @@ class MapPassengerController extends GetxController { } Future getRideStatus(String rideId) async { - final response = await CRUD() - .get(link: AppLink.getRideStatus, payload: {'order_id': rideId}); + final response = + await CRUD().get(link: AppLink.getRideStatus, payload: {'id': rideId}); - return response['status']; + return jsonDecode(response)['data']; } late String driverCarModel, driverCarMake, driverLicensePlate, driverName; @@ -1039,10 +1042,12 @@ class MapPassengerController extends GetxController { driverId = response['data']['driver_id']; driverPhone = response['data']['phone']; driverCarMake = response['data']['make']; - driverCarModel = response['data']['model']; - driverLicensePlate = response['data']['license_plate']; - driverName = response['data']['first_name']; + model = response['data']['model']; + licensePlate = response['data']['car_plate']; + firstName = response['data']['first_name']; driverToken = response['data']['token']; + carYear = response['data']['year']; + driverRate = response['data']['ratingDriver']; } driversToken.remove(driverToken); for (var i = 0; i < driversToken.length; i++) { @@ -1618,13 +1623,15 @@ class MapPassengerController extends GetxController { Future startMarkerReloading() async { int reloadCount = 0; - Timer.periodic(const Duration(seconds: 3), (timer) { + Timer.periodic(const Duration(seconds: 2), (timer) { reloadCount++; //print('Reloading markers ($reloadCount)'); - reloadMarkers(); + if (!rideConfirm) { + reloadMarkers(); + } - if (reloadCount >= 70) { + if (reloadCount >= 35) { timer.cancel(); // Stop the timer after 5 reloads //print('Marker reloading completed.'); } diff --git a/lib/views/home/Captin/orderCaptin/order_request_page.dart b/lib/views/home/Captin/orderCaptin/order_request_page.dart index 0f47e19..23e8ec4 100644 --- a/lib/views/home/Captin/orderCaptin/order_request_page.dart +++ b/lib/views/home/Captin/orderCaptin/order_request_page.dart @@ -194,7 +194,8 @@ class OrderRequestPage extends StatelessWidget { ), ), Container( - height: Get.height * .15,width: Get.width*.9, + height: Get.height * .15, + width: Get.width * .9, decoration: AppStyle.boxDecoration1, child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, @@ -212,11 +213,7 @@ class OrderRequestPage extends StatelessWidget { color: AppColor.greenColor, ), Text( - myList[12] + - ' ' + - - ' (${myList[11]}) ' - , + myList[12] + ' ' + ' (${myList[11]}) ', style: AppStyle.title, ), ], @@ -229,7 +226,7 @@ class OrderRequestPage extends StatelessWidget { ), ], ), - Row( + Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Column( @@ -242,11 +239,7 @@ class OrderRequestPage extends StatelessWidget { color: AppColor.greenColor, ), Text( - myList[5] + - ' ' + - - ' (${myList[4]}) ' - , + myList[5] + ' ' + ' (${myList[4]}) ', style: AppStyle.title, ), ], @@ -259,8 +252,7 @@ class OrderRequestPage extends StatelessWidget { ), ], ), - - ], + ], ), ), Padding(