This commit is contained in:
Hamza-Ayed
2023-11-13 23:55:51 +03:00
parent 8aab58d4aa
commit b384a491cd
5 changed files with 202 additions and 153 deletions

View File

@@ -47,8 +47,8 @@ class MapDriverController extends GetxController {
double progress = 0;
double progressToPassenger = 0;
bool isRideBegin = false;
int progressTimerToShowPassengerInfoWindowFromDriver = 25;
int remainingTimeToShowPassengerInfoWindowFromDriver = 25;
int progressTimerToShowPassengerInfoWindowFromDriver = 15;
int remainingTimeToShowPassengerInfoWindowFromDriver = 15;
int remainingTimeToPassenger = 60;
bool isDriverNearPassengerStart = false;
GoogleMapController? mapController;
@@ -218,6 +218,31 @@ class MapDriverController extends GetxController {
// 'isRideFinished', box.read(BoxName.name).toString(), tokenPassenger);
}
void cancelCheckRidefromPassenger() async {
for (int i = 0;
i <= remainingTimeToShowPassengerInfoWindowFromDriver;
i++) {
await Future.delayed(const Duration(milliseconds: 500));
await CRUD().post(link: AppLink.getOrderCancelStatus, payload: {
'order_id': rideId,
}).then((value) {
if (value['status'] == 'Cancel') {
Get.snackbar('Order Cancelled'.tr, 'Order Cancelled by Passenger'.tr,
backgroundColor: AppColor.redColor);
remainingTimeTimerRideBegin = 0;
remainingTimeToShowPassengerInfoWindowFromDriver = 0;
remainingTimeToPassenger = 0;
isRideStarted = false;
isRideFinished = false;
isPassengerInfoWindow = false;
clearPolyline();
update();
}
});
update();
}
}
void rideIsBeginPassengerTimer() async {
// print('mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm');
// print(durationOfRideValue);
@@ -353,6 +378,7 @@ class MapDriverController extends GetxController {
addCustomCarIcon();
// updateMarker();
startTimerToShowPassengerInfoWindowFromDriver();
cancelCheckRidefromPassenger();
// checkIsDriverNearPassenger();
super.onInit();
}

View File

@@ -1,6 +1,5 @@
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/main.dart';

View File

@@ -7,7 +7,6 @@ import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_polyline_algorithm/google_polyline_algorithm.dart';
import 'package:location/location.dart';
import 'package:ride/constant/box_name.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/credential.dart';
import 'package:ride/constant/links.dart';
import 'package:ride/controller/firebase/firbase_messge.dart';
@@ -74,9 +73,9 @@ class MapPassengerController extends GetxController {
int selectedPassengerCount = 1;
double progress = 0;
double progressTimerToPassengerFromDriverAfterApplied = 0;
int durationTimer = 25;
int durationTimer = 15;
late int durationToRide;
int remainingTime = 25;
int remainingTime = 15;
int remainingTimeToPassengerFromDriverAfterApplied = 60;
int timeToPassengerFromDriverAfterApplied = 0;
Timer? timerToPassengerFromDriverAfterApplied;
@@ -86,6 +85,8 @@ class MapPassengerController extends GetxController {
String stringRemainingTimeRideBegin = '';
late String rideId;
bool noCarString = false;
bool isCashSelectedBeforeConfirmRide = false;
bool isPassengerChosen = false;
late String driverToken;
int carsOrder = 0;
@@ -94,6 +95,11 @@ class MapPassengerController extends GetxController {
update();
}
void onChangedPassengersChoose() {
isPassengerChosen = true;
update();
}
// final mainBottomMenuMap = GlobalKey<AnimatedContainer>();
void changeBottomSheetShown() {
isBottomSheetShown = !isBottomSheetShown;
@@ -103,6 +109,7 @@ class MapPassengerController extends GetxController {
void changeCashConfirmPageShown() {
isCashConfirmPageShown = !isCashConfirmPageShown;
isCashSelectedBeforeConfirmRide = true;
cashConfirmPageShown = isCashConfirmPageShown == true ? 250 : 0;
update();
}
@@ -530,6 +537,8 @@ class MapPassengerController extends GetxController {
changeCancelRidePageShow();
rideConfirm = false;
shouldFetch = false;
isCashSelectedBeforeConfirmRide = false;
isPassengerChosen = false;
timeToPassengerFromDriverAfterApplied = 0;
update();
} else {
@@ -538,19 +547,16 @@ class MapPassengerController extends GetxController {
data = [];
rideConfirm = false;
shouldFetch = false;
isPassengerChosen = false;
isCashSelectedBeforeConfirmRide = false;
timeToPassengerFromDriverAfterApplied = 0;
changeCancelRidePageShow();
remainingTime = 25;
update();
await CRUD().post(link: AppLink.addCancelRideFromPassenger, payload: {
"driverID": FirebaseMessagesController()
.driverID
.toString(), // Convert to String
"passengerID":
box.read(BoxName.passengerID).toString(), // Convert to String
"rideID": rideId.toString(), // Convert to String
"note": cancelNote
await CRUD().post(link: AppLink.updateDriverOrder, payload: {
"order_id": rideId.toString(), // Convert to String
"status": 'Cancel'
});
update();