2/16/1
This commit is contained in:
@@ -133,8 +133,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
NotificationController().showNotification('Order', '', 'order');
|
NotificationController().showNotification('Order', '', 'order');
|
||||||
}
|
}
|
||||||
var myListString = message.data['DriverList'];
|
var myListString = message.data['DriverList'];
|
||||||
// print(myListString);
|
|
||||||
// print('9999999999999myListString999999999999999');
|
|
||||||
var myList = jsonDecode(myListString) as List<dynamic>;
|
var myList = jsonDecode(myListString) as List<dynamic>;
|
||||||
driverToken = myList[14].toString();
|
driverToken = myList[14].toString();
|
||||||
update();
|
update();
|
||||||
@@ -146,10 +145,10 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
});
|
});
|
||||||
} else if (message.notification!.title! == 'Apply Ride') {
|
} else if (message.notification!.title! == 'Apply Ride') {
|
||||||
var passengerList = message.data['passengerList'];
|
var passengerList = message.data['passengerList'];
|
||||||
// print(passengerList);
|
|
||||||
// print('9999999999999my Apply Ride 999999999999999');
|
|
||||||
var myList = jsonDecode(passengerList) as List<dynamic>;
|
var myList = jsonDecode(passengerList) as List<dynamic>;
|
||||||
driverID = myList[2].toString();
|
driverID = myList[2].toString();
|
||||||
|
|
||||||
NotificationController().showNotification(
|
NotificationController().showNotification(
|
||||||
'Apply Order', 'Driver Applied the Ride for You'.tr, 'order');
|
'Apply Order', 'Driver Applied the Ride for You'.tr, 'order');
|
||||||
// driverAppliedTripSnakBar();
|
// driverAppliedTripSnakBar();
|
||||||
@@ -162,11 +161,14 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
'Cancel Trip'.tr, 'Passenger Cancel Trip'.tr, 'order');
|
'Cancel Trip'.tr, 'Passenger Cancel Trip'.tr, 'order');
|
||||||
cancelTripDialog();
|
cancelTripDialog();
|
||||||
} else if (message.notification!.title! == 'DriverIsGoingToPassenger') {
|
} else if (message.notification!.title! == 'DriverIsGoingToPassenger') {
|
||||||
|
Get.find<MapPassengerController>().isDriverInPassengerWay = true;
|
||||||
|
Get.find<MapPassengerController>().update();
|
||||||
NotificationController().showNotification('Driver is Going To You'.tr,
|
NotificationController().showNotification('Driver is Going To You'.tr,
|
||||||
'Please stay on the picked point.'.tr, 'order');
|
'Please stay on the picked point.'.tr, 'order');
|
||||||
// Get.snackbar('Driver is Going To Passenger', '',
|
// Get.snackbar('Driver is Going To Passenger', '',
|
||||||
// backgroundColor: AppColor.greenColor);
|
// backgroundColor: AppColor.greenColor);
|
||||||
} else if (message.notification!.title! == 'RideIsBegin') {
|
} else if (message.notification!.title! == 'RideIsBegin') {
|
||||||
|
Get.find<MapPassengerController>().getBeginRideFromDriver();
|
||||||
// Get.snackbar('RideIsBegin', '', backgroundColor: AppColor.greenColor);
|
// Get.snackbar('RideIsBegin', '', backgroundColor: AppColor.greenColor);
|
||||||
NotificationController()
|
NotificationController()
|
||||||
.showNotification('Trip is Begin'.tr, ''.tr, 'order');
|
.showNotification('Trip is Begin'.tr, ''.tr, 'order');
|
||||||
@@ -191,16 +193,11 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
'you will pay to Driver'.tr +
|
'you will pay to Driver'.tr +
|
||||||
' ${Get.find<MapPassengerController>().totalPassenger} \$'.tr,
|
' ${Get.find<MapPassengerController>().totalPassenger} \$'.tr,
|
||||||
'order');
|
'order');
|
||||||
|
Get.find<MapPassengerController>().tripFinishedFromDriver();
|
||||||
if (Get.find<PaymentController>().isCashChecked == false &&
|
if (Get.find<PaymentController>().isCashChecked == false &&
|
||||||
Get.find<PaymentController>().isWalletChecked == true) {
|
Get.find<PaymentController>().isWalletChecked == true) {
|
||||||
driverFinishTripDialoge(driverList);
|
driverFinishTripDialoge(driverList);
|
||||||
} else if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) {
|
} else {
|
||||||
CRUD().post(link: AppLink.addPassengersWallet, payload: {
|
|
||||||
'passenger_id': box.read(BoxName.passengerID).toString(),
|
|
||||||
'balance':
|
|
||||||
((-1) * double.parse(box.read(BoxName.passengerWalletTotal)))
|
|
||||||
.toString()
|
|
||||||
});
|
|
||||||
Get.to(() => RateDriverFromPassenger(), arguments: {
|
Get.to(() => RateDriverFromPassenger(), arguments: {
|
||||||
'driverId': driverList[0].toString(),
|
'driverId': driverList[0].toString(),
|
||||||
'rideId': driverList[1].toString(),
|
'rideId': driverList[1].toString(),
|
||||||
@@ -268,6 +265,9 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
'Hi ,I will go now'.tr,
|
'Hi ,I will go now'.tr,
|
||||||
'I will go now'.tr,
|
'I will go now'.tr,
|
||||||
Get.find<MapPassengerController>().driverToken, []);
|
Get.find<MapPassengerController>().driverToken, []);
|
||||||
|
Get.find<MapPassengerController>()
|
||||||
|
.startTimerDriverWaitPassenger5Minute();
|
||||||
|
|
||||||
Get.back();
|
Get.back();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:geolocator/geolocator.dart';
|
import 'package:geolocator/geolocator.dart';
|
||||||
@@ -8,7 +7,6 @@ import 'package:get/get.dart';
|
|||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'package:google_polyline_algorithm/google_polyline_algorithm.dart';
|
import 'package:google_polyline_algorithm/google_polyline_algorithm.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:SEFER/constant/style.dart';
|
||||||
import 'package:SEFER/controller/home/captin/home_captain_controller.dart';
|
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../../../constant/api_key.dart';
|
import '../../../constant/api_key.dart';
|
||||||
@@ -45,6 +43,7 @@ class MapDriverController extends GetxController {
|
|||||||
late String step2;
|
late String step2;
|
||||||
late String step3;
|
late String step3;
|
||||||
late String step4;
|
late String step4;
|
||||||
|
late String passengerWalletBurc;
|
||||||
late String duration;
|
late String duration;
|
||||||
late String totalCost;
|
late String totalCost;
|
||||||
late String distance;
|
late String distance;
|
||||||
@@ -213,6 +212,10 @@ class MapDriverController extends GetxController {
|
|||||||
await Future.delayed(const Duration(seconds: 1));
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
progressInPassengerLocationFromDriver = i / (timeWaitingPassenger * 60);
|
progressInPassengerLocationFromDriver = i / (timeWaitingPassenger * 60);
|
||||||
remainingTimeInPassengerLocatioWait = (timeWaitingPassenger * 60) - i;
|
remainingTimeInPassengerLocatioWait = (timeWaitingPassenger * 60) - i;
|
||||||
|
if (isRideBegin == true) {
|
||||||
|
remainingTimeInPassengerLocatioWait = 0;
|
||||||
|
update();
|
||||||
|
}
|
||||||
if (remainingTimeInPassengerLocatioWait == 0) {
|
if (remainingTimeInPassengerLocatioWait == 0) {
|
||||||
isdriverWaitTimeEnd = true;
|
isdriverWaitTimeEnd = true;
|
||||||
print(isdriverWaitTimeEnd);
|
print(isdriverWaitTimeEnd);
|
||||||
@@ -289,6 +292,8 @@ class MapDriverController extends GetxController {
|
|||||||
isPassengerInfoWindow = false;
|
isPassengerInfoWindow = false;
|
||||||
isRideStarted = true;
|
isRideStarted = true;
|
||||||
isRideFinished = false;
|
isRideFinished = false;
|
||||||
|
remainingTimeInPassengerLocatioWait = 0;
|
||||||
|
timeWaitingPassenger = 0;
|
||||||
box.write(BoxName.statusDriverLocation, 'on');
|
box.write(BoxName.statusDriverLocation, 'on');
|
||||||
|
|
||||||
update();
|
update();
|
||||||
@@ -305,6 +310,8 @@ class MapDriverController extends GetxController {
|
|||||||
'rideTimeStart': DateTime.now().toString(),
|
'rideTimeStart': DateTime.now().toString(),
|
||||||
'status': 'Begin'
|
'status': 'Begin'
|
||||||
});
|
});
|
||||||
|
FirebaseMessagesController().sendNotificationToAnyWithoutData(
|
||||||
|
'RideIsBegin', box.read(BoxName.name).toString(), tokenPassenger);
|
||||||
rideIsBeginPassengerTimer();
|
rideIsBeginPassengerTimer();
|
||||||
double pointsSubstraction = 0;
|
double pointsSubstraction = 0;
|
||||||
pointsSubstraction = double.parse(paymentAmount) * -100;
|
pointsSubstraction = double.parse(paymentAmount) * -100;
|
||||||
@@ -320,9 +327,6 @@ class MapDriverController extends GetxController {
|
|||||||
print('...................');
|
print('...................');
|
||||||
print(d);
|
print(d);
|
||||||
print('...................');
|
print('...................');
|
||||||
|
|
||||||
// FirebaseMessagesController().sendNotificationToAnyWithoutData(
|
|
||||||
// 'RideIsBegin', box.read(BoxName.name).toString(), tokenPassenger);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
calculateDistanseBetweenDriverAndPassengerLocation() {
|
calculateDistanseBetweenDriverAndPassengerLocation() {
|
||||||
@@ -375,8 +379,16 @@ class MapDriverController extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void finishRideFromDriver() async {
|
void finishRideFromDriver() async {
|
||||||
|
double distanceToDestination = Geolocator.distanceBetween(
|
||||||
|
latLngPassengerDestination.latitude,
|
||||||
|
latLngPassengerDestination.longitude,
|
||||||
|
Get.find<LocationController>().myLocation.latitude,
|
||||||
|
Get.find<LocationController>().myLocation.longitude,
|
||||||
|
);
|
||||||
|
// if (distanceToDestination < 50) {
|
||||||
isRideFinished = true;
|
isRideFinished = true;
|
||||||
isRideStarted = false;
|
isRideStarted = false;
|
||||||
|
|
||||||
box.write(BoxName.statusDriverLocation, 'off');
|
box.write(BoxName.statusDriverLocation, 'off');
|
||||||
// changeRideToBeginToPassenger();
|
// changeRideToBeginToPassenger();
|
||||||
await CRUD().post(link: AppLink.updateRides, payload: {
|
await CRUD().post(link: AppLink.updateRides, payload: {
|
||||||
@@ -384,14 +396,21 @@ class MapDriverController extends GetxController {
|
|||||||
'rideTimeFinish': DateTime.now().toString(),
|
'rideTimeFinish': DateTime.now().toString(),
|
||||||
'status': 'Finished'
|
'status': 'Finished'
|
||||||
});
|
});
|
||||||
|
print('walletChecked is $walletChecked');
|
||||||
if (walletChecked == 'true') {
|
if (walletChecked == 'true') {
|
||||||
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
|
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
|
||||||
'passenger_id': passengerId,
|
'passenger_id': passengerId,
|
||||||
'ba lance': ((-1) * double.parse(totalCost)).toString()
|
'balance': ((-1) * double.parse(paymentAmount)).toString()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
print('passengerWalletBurc bef ${double.parse(passengerWalletBurc)}');
|
||||||
|
if (double.parse(passengerWalletBurc) < 0) {
|
||||||
|
print('passengerWalletBurc aft ${double.parse(passengerWalletBurc)}');
|
||||||
|
await CRUD().post(link: AppLink.addPassengersWallet, payload: {
|
||||||
|
'passenger_id': passengerId,
|
||||||
|
'balance': ((-1) * double.parse(passengerWalletBurc)).toString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get.back();
|
|
||||||
Future.delayed(const Duration(milliseconds: 300));
|
Future.delayed(const Duration(milliseconds: 300));
|
||||||
FirebaseMessagesController().sendNotificationToPassengerToken(
|
FirebaseMessagesController().sendNotificationToPassengerToken(
|
||||||
'Driver Finish Trip',
|
'Driver Finish Trip',
|
||||||
@@ -408,6 +427,19 @@ class MapDriverController extends GetxController {
|
|||||||
'passengerId': passengerId,
|
'passengerId': passengerId,
|
||||||
'driverId': driverId
|
'driverId': driverId
|
||||||
});
|
});
|
||||||
|
// } else {
|
||||||
|
// Get.defaultDialog(
|
||||||
|
// title: 'You don\'t arrive destenation yet .'.tr,
|
||||||
|
// middleText: '',
|
||||||
|
// confirm: MyElevatedButton(
|
||||||
|
// title: 'Ok'.tr,
|
||||||
|
// onPressed: () {
|
||||||
|
// Get.back();
|
||||||
|
// }));
|
||||||
|
// }
|
||||||
|
// add wallet from passenger from driver
|
||||||
|
|
||||||
|
// Get.back();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cancelCheckRidefromPassenger() async {
|
void cancelCheckRidefromPassenger() async {
|
||||||
@@ -447,23 +479,22 @@ class MapDriverController extends GetxController {
|
|||||||
// print('mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm');
|
// print('mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm');
|
||||||
// print(durationOfRideValue);
|
// print(durationOfRideValue);
|
||||||
int durationOfRide = int.parse(durationOfRideValue);
|
int durationOfRide = int.parse(durationOfRideValue);
|
||||||
|
update();
|
||||||
for (int i = 0; i <= durationOfRide; i++) {
|
for (int i = 0; i <= durationOfRide; i++) {
|
||||||
await Future.delayed(const Duration(seconds: 1));
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
progressTimerRideBegin = i / durationOfRide;
|
progressTimerRideBegin = i / durationOfRide;
|
||||||
remainingTimeTimerRideBegin = durationOfRide - i;
|
remainingTimeTimerRideBegin = durationOfRide - i;
|
||||||
remainingTimeTimerRideBegin < 60 ? driverEndPage = 160 : 100;
|
remainingTimeTimerRideBegin < 60 ? driverEndPage = 160 : 100;
|
||||||
|
if (remainingTimeTimerRideBegin < 120) {
|
||||||
|
// to make driver available on last 2 minute in his trip
|
||||||
|
box.write(BoxName.statusDriverLocation, 'off');
|
||||||
|
}
|
||||||
int minutes = (remainingTimeTimerRideBegin / 60).floor();
|
int minutes = (remainingTimeTimerRideBegin / 60).floor();
|
||||||
int seconds = remainingTimeTimerRideBegin % 60;
|
int seconds = remainingTimeTimerRideBegin % 60;
|
||||||
stringRemainingTimeRideBegin =
|
stringRemainingTimeRideBegin =
|
||||||
'$minutes:${seconds.toString().padLeft(2, '0')}';
|
'$minutes:${seconds.toString().padLeft(2, '0')}';
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
if (remainingTimeTimerRideBegin < 120) {
|
|
||||||
// to make driver available on last 2 minute in his trip
|
|
||||||
box.write(BoxName.statusDriverLocation, 'off');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateMarker() {
|
void updateMarker() {
|
||||||
@@ -701,6 +732,7 @@ class MapDriverController extends GetxController {
|
|||||||
step2 = Get.arguments['step2'];
|
step2 = Get.arguments['step2'];
|
||||||
step3 = Get.arguments['step3'];
|
step3 = Get.arguments['step3'];
|
||||||
step4 = Get.arguments['step4'];
|
step4 = Get.arguments['step4'];
|
||||||
|
passengerWalletBurc = Get.arguments['passengerWalletBurc'];
|
||||||
|
|
||||||
var coords = passengerLocation.split(',');
|
var coords = passengerLocation.split(',');
|
||||||
var coordDestination = passengerDestination.split(',');
|
var coordDestination = passengerDestination.split(',');
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import 'package:get/get.dart';
|
|||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:SEFER/constant/links.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:SEFER/constant/style.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:SEFER/main.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
|
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../../../constant/box_name.dart';
|
import '../../../constant/box_name.dart';
|
||||||
|
|||||||
@@ -94,6 +94,10 @@ class MapPassengerController extends GetxController {
|
|||||||
double heightPointsPageForRider = 0;
|
double heightPointsPageForRider = 0;
|
||||||
double mainBottomMenuMapHeight = Get.height * .2;
|
double mainBottomMenuMapHeight = Get.height * .2;
|
||||||
double wayPointSheetHeight = 0;
|
double wayPointSheetHeight = 0;
|
||||||
|
String stringRemainingTimeToPassenger = '';
|
||||||
|
String stringRemainingTimeDriverWaitPassenger5Minute = '';
|
||||||
|
bool isDriverInPassengerWay = false;
|
||||||
|
bool isDriverArrivePassenger = false;
|
||||||
bool startLocationFromMap = false;
|
bool startLocationFromMap = false;
|
||||||
bool workLocationFromMap = false;
|
bool workLocationFromMap = false;
|
||||||
bool homeLocationFromMap = false;
|
bool homeLocationFromMap = false;
|
||||||
@@ -135,10 +139,12 @@ class MapPassengerController extends GetxController {
|
|||||||
int selectedPassengerCount = 1;
|
int selectedPassengerCount = 1;
|
||||||
double progress = 0;
|
double progress = 0;
|
||||||
double progressTimerToPassengerFromDriverAfterApplied = 0;
|
double progressTimerToPassengerFromDriverAfterApplied = 0;
|
||||||
|
double progressTimerDriverWaitPassenger5Minute = 0;
|
||||||
int durationTimer = 25;
|
int durationTimer = 25;
|
||||||
int durationToRide = 0;
|
int durationToRide = 0;
|
||||||
int remainingTime = 25;
|
int remainingTime = 25;
|
||||||
int remainingTimeToPassengerFromDriverAfterApplied = 60;
|
int remainingTimeToPassengerFromDriverAfterApplied = 60;
|
||||||
|
int remainingTimeDriverWaitPassenger5Minute = 60;
|
||||||
int timeToPassengerFromDriverAfterApplied = 0;
|
int timeToPassengerFromDriverAfterApplied = 0;
|
||||||
Timer? timerToPassengerFromDriverAfterApplied;
|
Timer? timerToPassengerFromDriverAfterApplied;
|
||||||
bool rideTimerBegin = false;
|
bool rideTimerBegin = false;
|
||||||
@@ -448,8 +454,6 @@ class MapPassengerController extends GetxController {
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
String stringRemainingTimeToPassenger = '';
|
|
||||||
|
|
||||||
void startTimerFromDriverToPassengerAfterApplied() async {
|
void startTimerFromDriverToPassengerAfterApplied() async {
|
||||||
for (int i = 0; i <= timeToPassengerFromDriverAfterApplied; i++) {
|
for (int i = 0; i <= timeToPassengerFromDriverAfterApplied; i++) {
|
||||||
await Future.delayed(const Duration(seconds: 1));
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
@@ -470,14 +474,24 @@ class MapPassengerController extends GetxController {
|
|||||||
stringRemainingTimeToPassenger =
|
stringRemainingTimeToPassenger =
|
||||||
'$minutes:${seconds.toString().padLeft(2, '0')}';
|
'$minutes:${seconds.toString().padLeft(2, '0')}';
|
||||||
|
|
||||||
// var cameraUpdate = CameraUpdate.newLatLngZoom(
|
update();
|
||||||
// driverLocationToPassenger,
|
}
|
||||||
// 17,
|
}
|
||||||
// );
|
|
||||||
// mapController!.animateCamera(cameraUpdate);
|
|
||||||
|
|
||||||
// print(driverCarsLocationToPassengerAfterApplied);
|
void startTimerDriverWaitPassenger5Minute() async {
|
||||||
// print(driverCarsLocationToPassengerAfterApplied[0]);
|
isDriverArrivePassenger = true;
|
||||||
|
isDriverInPassengerWay = false;
|
||||||
|
timeToPassengerFromDriverAfterApplied = 0;
|
||||||
|
update();
|
||||||
|
for (int i = 0; i <= 300; i++) {
|
||||||
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
|
progressTimerDriverWaitPassenger5Minute = i / 300;
|
||||||
|
remainingTimeDriverWaitPassenger5Minute = 300 - i;
|
||||||
|
|
||||||
|
int minutes = (remainingTimeDriverWaitPassenger5Minute / 60).floor();
|
||||||
|
int seconds = remainingTimeDriverWaitPassenger5Minute % 60;
|
||||||
|
stringRemainingTimeDriverWaitPassenger5Minute =
|
||||||
|
'$minutes:${seconds.toString().padLeft(2, '0')}';
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
@@ -535,6 +549,13 @@ class MapPassengerController extends GetxController {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tripFinishedFromDriver() async {
|
||||||
|
isRideFinished = true;
|
||||||
|
rideTimerBegin = false;
|
||||||
|
remainingTimeTimerRideBegin = 0;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
void getBeginRideFromDriver() async {
|
void getBeginRideFromDriver() async {
|
||||||
try {
|
try {
|
||||||
var res = await CRUD()
|
var res = await CRUD()
|
||||||
@@ -548,7 +569,10 @@ class MapPassengerController extends GetxController {
|
|||||||
timeToPassengerFromDriverAfterApplied = 0;
|
timeToPassengerFromDriverAfterApplied = 0;
|
||||||
remainingTime = 0;
|
remainingTime = 0;
|
||||||
remainingTimeToPassengerFromDriverAfterApplied = 0;
|
remainingTimeToPassengerFromDriverAfterApplied = 0;
|
||||||
|
remainingTimeDriverWaitPassenger5Minute = 0;
|
||||||
rideTimerBegin = true;
|
rideTimerBegin = true;
|
||||||
|
isDriverInPassengerWay = false;
|
||||||
|
isDriverArrivePassenger = false;
|
||||||
update();
|
update();
|
||||||
// isCancelRidePageShown = true;
|
// isCancelRidePageShown = true;
|
||||||
rideIsBeginPassengerTimer();
|
rideIsBeginPassengerTimer();
|
||||||
@@ -733,7 +757,11 @@ class MapPassengerController extends GetxController {
|
|||||||
placesCoordinate[2],
|
placesCoordinate[2],
|
||||||
placesCoordinate[3],
|
placesCoordinate[3],
|
||||||
placesCoordinate[4],
|
placesCoordinate[4],
|
||||||
costDistance.toStringAsFixed(2)
|
costDistance.toStringAsFixed(2),
|
||||||
|
double.parse(box.read(BoxName.passengerWalletTotal)) < 0
|
||||||
|
? double.parse(box.read(BoxName.passengerWalletTotal))
|
||||||
|
.toStringAsFixed(2)
|
||||||
|
: '0',
|
||||||
];
|
];
|
||||||
FirebaseMessagesController().sendNotificationToDriverMAP(
|
FirebaseMessagesController().sendNotificationToDriverMAP(
|
||||||
'Order',
|
'Order',
|
||||||
|
|||||||
@@ -241,7 +241,8 @@ class PassengerInfoWindow extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
controller.remainingTimeInPassengerLocatioWait <
|
controller.remainingTimeInPassengerLocatioWait <
|
||||||
300 &&
|
300 &&
|
||||||
controller.remainingTimeInPassengerLocatioWait !=
|
controller
|
||||||
|
.remainingTimeInPassengerLocatioWait !=
|
||||||
0
|
0
|
||||||
? Stack(
|
? Stack(
|
||||||
children: [
|
children: [
|
||||||
@@ -272,8 +273,9 @@ class PassengerInfoWindow extends StatelessWidget {
|
|||||||
)
|
)
|
||||||
: controller.isdriverWaitTimeEnd
|
: controller.isdriverWaitTimeEnd
|
||||||
? MyElevatedButton(
|
? MyElevatedButton(
|
||||||
title:
|
title: 'You Can Cancel Trip And get Cost of Trip From'
|
||||||
'You Can Cancel Trip And get Cost of Trip From ${AppInformation.appName}'
|
.tr +
|
||||||
|
' ${AppInformation.appName}'
|
||||||
.tr,
|
.tr,
|
||||||
kolor: AppColor
|
kolor: AppColor
|
||||||
.deepPurpleAccent,
|
.deepPurpleAccent,
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ class OrderRequestPage extends StatelessWidget {
|
|||||||
'passengerLocation': myList[0].toString(),
|
'passengerLocation': myList[0].toString(),
|
||||||
'passengerDestination': myList[1].toString(),
|
'passengerDestination': myList[1].toString(),
|
||||||
'Duration': myList[4].toString(),
|
'Duration': myList[4].toString(),
|
||||||
'totalCost': myList[2].toString(),
|
'totalCost': myList[26].toString(),
|
||||||
'Distance': myList[5].toString(),
|
'Distance': myList[5].toString(),
|
||||||
'name': myList[8].toString(),
|
'name': myList[8].toString(),
|
||||||
'phone': myList[10].toString(),
|
'phone': myList[10].toString(),
|
||||||
@@ -236,7 +236,7 @@ class OrderRequestPage extends StatelessWidget {
|
|||||||
'passengerId': myList[7].toString(),
|
'passengerId': myList[7].toString(),
|
||||||
'driverId': myList[18].toString(),
|
'driverId': myList[18].toString(),
|
||||||
'durationOfRideValue': myList[19].toString(),
|
'durationOfRideValue': myList[19].toString(),
|
||||||
'paymentAmount': myList[3].toString(),
|
'paymentAmount': myList[2].toString(),
|
||||||
'paymentMethod':
|
'paymentMethod':
|
||||||
myList[13].toString() == 'true' ? 'visa' : 'cash',
|
myList[13].toString() == 'true' ? 'visa' : 'cash',
|
||||||
'isHaveSteps': myList[20].toString(),
|
'isHaveSteps': myList[20].toString(),
|
||||||
@@ -245,6 +245,7 @@ class OrderRequestPage extends StatelessWidget {
|
|||||||
'step2': myList[23].toString(),
|
'step2': myList[23].toString(),
|
||||||
'step3': myList[24].toString(),
|
'step3': myList[24].toString(),
|
||||||
'step4': myList[25].toString(),
|
'step4': myList[25].toString(),
|
||||||
|
'passengerWalletBurc': myList[26].toString(),
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:intl/intl.dart';
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:SEFER/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/info.dart';
|
import 'package:SEFER/constant/info.dart';
|
||||||
import 'package:SEFER/controller/payment/payment_controller.dart';
|
import 'package:SEFER/controller/payment/payment_controller.dart';
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import 'package:get/get.dart';
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:SEFER/constant/box_name.dart';
|
||||||
import 'package:SEFER/controller/profile/profile_controller.dart';
|
import 'package:SEFER/controller/profile/profile_controller.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:SEFER/main.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
|
||||||
|
|
||||||
import '../../../constant/colors.dart';
|
import '../../../constant/colors.dart';
|
||||||
import '../../../constant/style.dart';
|
import '../../../constant/style.dart';
|
||||||
@@ -26,7 +25,7 @@ class RideBeginPassenger extends StatelessWidget {
|
|||||||
bottom: 4,
|
bottom: 4,
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: AppStyle.boxDecoration,
|
decoration: AppStyle.boxDecoration,
|
||||||
height: 200,
|
height: controller.rideTimerBegin ? 200 : 0,
|
||||||
// width: 100,
|
// width: 100,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
|||||||
@@ -1,15 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../../../constant/box_name.dart';
|
|
||||||
import '../../../constant/colors.dart';
|
import '../../../constant/colors.dart';
|
||||||
import '../../../constant/style.dart';
|
import '../../../constant/style.dart';
|
||||||
import '../../../controller/firebase/firbase_messge.dart';
|
|
||||||
import '../../../controller/functions/crud.dart';
|
|
||||||
import '../../../controller/home/map_passenger_controller.dart';
|
import '../../../controller/home/map_passenger_controller.dart';
|
||||||
import '../../../main.dart';
|
import 'ride_begin_passenger.dart';
|
||||||
|
|
||||||
class TimerToPassengerFromDriver extends StatelessWidget {
|
class TimerToPassengerFromDriver extends StatelessWidget {
|
||||||
const TimerToPassengerFromDriver({
|
const TimerToPassengerFromDriver({
|
||||||
@@ -20,14 +16,20 @@ class TimerToPassengerFromDriver extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return GetBuilder<MapPassengerController>(builder: (controller) {
|
return GetBuilder<MapPassengerController>(builder: (controller) {
|
||||||
if (controller.remainingTime == 0 &&
|
if (controller.remainingTime == 0 &&
|
||||||
controller.timeToPassengerFromDriverAfterApplied > 0) {
|
(controller.isDriverInPassengerWay == true ||
|
||||||
|
controller.timeToPassengerFromDriverAfterApplied > 0)) {
|
||||||
|
// ) {
|
||||||
return Positioned(
|
return Positioned(
|
||||||
left: 10,
|
left: 10,
|
||||||
right: 10,
|
right: 10,
|
||||||
bottom: 5,
|
bottom: 5,
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: AppStyle.boxDecoration,
|
decoration: AppStyle.boxDecoration,
|
||||||
height: 200,
|
height: controller.remainingTime == 0 &&
|
||||||
|
(controller.isDriverInPassengerWay == true ||
|
||||||
|
controller.timeToPassengerFromDriverAfterApplied > 0)
|
||||||
|
? 200
|
||||||
|
: 0,
|
||||||
// width: 100,
|
// width: 100,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
@@ -66,12 +68,6 @@ class TimerToPassengerFromDriver extends StatelessWidget {
|
|||||||
? MyElevatedButton(
|
? MyElevatedButton(
|
||||||
title: 'You can cancel trip'.tr,
|
title: 'You can cancel trip'.tr,
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
// await CRUD()
|
|
||||||
// .post(link: AppLink.updateRides, payload: {
|
|
||||||
// 'id': controller.rideId,
|
|
||||||
// 'rideTimeStart': DateTime.now().toString(),
|
|
||||||
// 'status': 'Applied'
|
|
||||||
// });
|
|
||||||
await controller
|
await controller
|
||||||
.calculateDistanceBetweenPassengerAndDriverBeforecancelRide();
|
.calculateDistanceBetweenPassengerAndDriverBeforecancelRide();
|
||||||
})
|
})
|
||||||
@@ -81,8 +77,59 @@ class TimerToPassengerFromDriver extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
} else if (controller.remainingTime == 0 &&
|
||||||
|
controller.isDriverArrivePassenger == true) {
|
||||||
|
return Positioned(
|
||||||
|
left: 10,
|
||||||
|
right: 10,
|
||||||
|
bottom: 5,
|
||||||
|
child: Container(
|
||||||
|
decoration: AppStyle.boxDecoration,
|
||||||
|
height: controller.remainingTime == 0 &&
|
||||||
|
controller.isDriverArrivePassenger == true
|
||||||
|
? 150
|
||||||
|
: 0,
|
||||||
|
// width: 100,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'The driver waitting you in picked location .'.tr,
|
||||||
|
style: AppStyle.title,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),
|
||||||
|
Stack(
|
||||||
|
children: [
|
||||||
|
LinearProgressIndicator(
|
||||||
|
backgroundColor: AppColor.accentColor,
|
||||||
|
color:
|
||||||
|
controller.remainingTimeDriverWaitPassenger5Minute <
|
||||||
|
60
|
||||||
|
? AppColor.redColor
|
||||||
|
: AppColor.greenColor,
|
||||||
|
minHeight: 50,
|
||||||
|
borderRadius: BorderRadius.circular(15),
|
||||||
|
value: controller
|
||||||
|
.progressTimerDriverWaitPassenger5Minute
|
||||||
|
.toDouble(),
|
||||||
|
),
|
||||||
|
Center(
|
||||||
|
child: Text(
|
||||||
|
controller
|
||||||
|
.stringRemainingTimeDriverWaitPassenger5Minute,
|
||||||
|
style: AppStyle.title,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
return const SizedBox();
|
return const RideBeginPassenger();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user