This commit is contained in:
Hamza-Ayed
2024-09-11 13:52:17 +03:00
parent 98ee34490c
commit 8df852ab66
3 changed files with 160 additions and 148 deletions

View File

@@ -54,8 +54,8 @@ android {
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdk = 23 minSdk = 23
targetSdk = flutter.targetSdkVersion targetSdk = flutter.targetSdkVersion
versionCode = 83 versionCode = 84
versionName = '1.5.83' versionName = '1.5.84'
multiDexEnabled =true multiDexEnabled =true
} }

View File

@@ -129,9 +129,9 @@ class LocationController extends GetxController {
'longitude': myLocation.longitude.toString(), 'longitude': myLocation.longitude.toString(),
'heading': heading.toString(), 'heading': heading.toString(),
'speed': (speed * 3.6).toStringAsFixed(1), 'speed': (speed * 3.6).toStringAsFixed(1),
'distance': totalDistance == 0 'distance': totalDistance == 0 && (speed * 3.6) < 5
? '0.0' ? '0.0'
: totalDistance < 1 : totalDistance < 7
? totalDistance.toStringAsFixed(3) ? totalDistance.toStringAsFixed(3)
: totalDistance.toStringAsFixed(1), : totalDistance.toStringAsFixed(1),
'status': box.read(BoxName.statusDriverLocation).toString(), 'status': box.read(BoxName.statusDriverLocation).toString(),
@@ -229,6 +229,10 @@ class LocationController extends GetxController {
// Calculate the distance in kilometers // Calculate the distance in kilometers
double distanceInKilometers = speedInKmPerHour * timeDifferenceInHours; double distanceInKilometers = speedInKmPerHour * timeDifferenceInHours;
return distanceInKilometers; // Convert distance from kilometers to meters
double distanceInMeters = distanceInKilometers * 1000;
// If the calculated distance is less than 6 meters, return 0 to avoid fake distance
return distanceInMeters < 5 ? 0 : distanceInKilometers;
} }
} }

View File

@@ -694,18 +694,20 @@ class MapDriverController extends GetxController {
durationOfRide = infinity; durationOfRide = infinity;
update(); update();
} }
if (carType != 'Comfort' || // if (carType != 'Comfort' ||
carType != 'Mishwar Vip' || // carType != 'Mishwar Vip' ||
carType != 'Lady' || // carType != 'Lady' ||
carType != 'RayehGaiComfort') { // carType != 'RayehGaiComfort') {
price = double.parse(totalCost); price = double.parse(totalCost);
update(); // 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));
recentDistanceToDash = Get.find<LocationController>().totalDistance; recentDistanceToDash = Get.find<LocationController>().totalDistance;
rideTimerFromBegin = i; // rideTimerFromBegin = i;
if (int.parse(duration) > i) {
price = double.parse(totalCost);
} else {
if (startNameLocation.toLowerCase().contains('airport') || if (startNameLocation.toLowerCase().contains('airport') ||
endNameLocation.toLowerCase().contains('airport') || endNameLocation.toLowerCase().contains('airport') ||
startNameLocation.contains('مطار') || startNameLocation.contains('مطار') ||
@@ -714,9 +716,9 @@ class MapDriverController extends GetxController {
endNameLocation.contains('المطار')) { endNameLocation.contains('المطار')) {
price = carType == 'Comfort' // || carType == 'Free Ride' price = carType == 'Comfort' // || carType == 'Free Ride'
? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + ? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice +
20 + (price) -
(recentDistanceToDash * int.parse(duration) *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().latePrice
// : carType == 'Speed' // : carType == 'Speed'
// ? (i ~/ 60) + // ? (i ~/ 60) +
@@ -724,28 +726,28 @@ class MapDriverController extends GetxController {
// Get.find<HomeCaptainController>().speedPrice) // Get.find<HomeCaptainController>().speedPrice)
: carType == 'Lady' : carType == 'Lady'
? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + ? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice +
20 + (price) -
(recentDistanceToDash * int.parse(duration) *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().latePrice
// : carType == 'Delivery' // : carType == 'Delivery'
// ? (i ~/ 60) + // ? (i ~/ 60) +
// (recentDistanceToDash * // (recentDistanceToDash *
// Get.find<HomeCaptainController>().deliveryPrice) // Get.find<HomeCaptainController>().deliveryPrice)
: carType == 'RayehGaiComfort' : carType == 'RayehGaiComfort'
? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + ? (i ~/ 60) *
20 + Get.find<HomeCaptainController>().latePrice +
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().comfortPrice)
: (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + : (i ~/ 60) *
20 + Get.find<HomeCaptainController>().latePrice +
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().mashwariPrice); Get.find<HomeCaptainController>().mashwariPrice);
} else if (currentTime.hour >= 21 && currentTime.hour < 0) { } else if (currentTime.hour >= 21 && currentTime.hour < 0) {
price = carType == 'Comfort' // || carType == 'Free Ride' price = carType == 'Comfort' // || carType == 'Free Ride'
? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + ? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice +
20 + (price) -
(recentDistanceToDash * int.parse(duration) *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().latePrice
// : carType == 'Speed' // : carType == 'Speed'
// ? (i ~/ 60) + // ? (i ~/ 60) +
@@ -753,20 +755,20 @@ class MapDriverController extends GetxController {
// Get.find<HomeCaptainController>().speedPrice) // Get.find<HomeCaptainController>().speedPrice)
: carType == 'Lady' : carType == 'Lady'
? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + ? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice +
20 + (price) -
(recentDistanceToDash * int.parse(duration) *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().latePrice
// : carType == 'Delivery' // : carType == 'Delivery'
// ? (i ~/ 60) + // ? (i ~/ 60) +
// (recentDistanceToDash * // (recentDistanceToDash *
// Get.find<HomeCaptainController>().deliveryPrice) // Get.find<HomeCaptainController>().deliveryPrice)
: carType == 'RayehGaiComfort' : carType == 'RayehGaiComfort'
? (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + ? (i ~/ 60) *
20 + Get.find<HomeCaptainController>().latePrice +
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().comfortPrice)
: (i ~/ 60) * Get.find<HomeCaptainController>().latePrice + : (i ~/ 60) *
20 + Get.find<HomeCaptainController>().latePrice +
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().mashwariPrice); Get.find<HomeCaptainController>().mashwariPrice);
} else if (currentTime.hour >= 1 && currentTime.hour < 5) { } else if (currentTime.hour >= 1 && currentTime.hour < 5) {
@@ -779,55 +781,63 @@ class MapDriverController extends GetxController {
? (i ~/ 60) * ? (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + .5) * (Get.find<HomeCaptainController>().latePrice + .5) *
2 + 2 +
(recentDistanceToDash * (price) -
Get.find<HomeCaptainController>().comfortPrice) int.parse(duration) *
(Get.find<HomeCaptainController>().latePrice + .5) *
2
: carType == 'Lady' : carType == 'Lady'
? (i ~/ 60) * ? (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + .5) * (Get.find<HomeCaptainController>().latePrice + .5) *
2 + 2 +
(recentDistanceToDash * (price) -
Get.find<HomeCaptainController>().comfortPrice) int.parse(duration) *
(Get.find<HomeCaptainController>().latePrice + .5) *
2
: carType == 'RayehGaiComfort' : carType == 'RayehGaiComfort'
? (i ~/ 60) * ? (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + (Get.find<HomeCaptainController>().latePrice +
.5) * .5) *
2 + 2 +
(recentDistanceToDash * (price)
Get.find<HomeCaptainController>().comfortPrice)
: (i ~/ 60) * : (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + (Get.find<HomeCaptainController>().latePrice +
.5) * .5) *
2 + 2 +
(recentDistanceToDash * (price);
Get.find<HomeCaptainController>().mashwariPrice);
} }
price = carType == 'Comfort' // || carType == 'Free Ride' price = carType == 'Comfort' // || carType == 'Free Ride'
? (i ~/ 60) * (Get.find<HomeCaptainController>().latePrice + .5) + ? (i ~/ 60) * (Get.find<HomeCaptainController>().latePrice + .5) +
(recentDistanceToDash * (price) -
Get.find<HomeCaptainController>().comfortPrice) int.parse(duration) *
(Get.find<HomeCaptainController>().latePrice + .5)
: carType == 'Lady' : carType == 'Lady'
? (i ~/ 60) * ? (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + .5) + (Get.find<HomeCaptainController>().latePrice + .5) +
(recentDistanceToDash * (price) -
Get.find<HomeCaptainController>().comfortPrice) int.parse(duration) *
(Get.find<HomeCaptainController>().latePrice + .5)
: carType == 'RayehGaiComfort' : carType == 'RayehGaiComfort'
? (i ~/ 60) * ? (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + .5) + (Get.find<HomeCaptainController>().latePrice +
.5) +
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().comfortPrice) Get.find<HomeCaptainController>().comfortPrice)
: (i ~/ 60) * : (i ~/ 60) *
(Get.find<HomeCaptainController>().latePrice + .5) + (Get.find<HomeCaptainController>().latePrice +
.5) +
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().mashwariPrice); Get.find<HomeCaptainController>().mashwariPrice);
} else if (currentTime.hour >= 14 && currentTime.hour <= 17) { } else if (currentTime.hour >= 14 && currentTime.hour <= 17) {
price = carType == 'Comfort' // || carType == 'Free Ride' price = carType == 'Comfort' // || carType == 'Free Ride'
? (i ~/ 60) * (Get.find<HomeCaptainController>().heavyPrice) + ? (i ~/ 60) * (Get.find<HomeCaptainController>().heavyPrice) +
(recentDistanceToDash * (price) -
Get.find<HomeCaptainController>().comfortPrice) int.parse(duration) *
(Get.find<HomeCaptainController>().heavyPrice + .5)
: carType == 'Lady' : carType == 'Lady'
? (i ~/ 60) * (Get.find<HomeCaptainController>().heavyPrice) + ? (i ~/ 60) * (Get.find<HomeCaptainController>().heavyPrice) +
(recentDistanceToDash * (price) -
Get.find<HomeCaptainController>().comfortPrice) int.parse(duration) *
(Get.find<HomeCaptainController>().heavyPrice + .5)
: carType == 'RayehGaiComfort' : carType == 'RayehGaiComfort'
? (i ~/ 60) * ? (i ~/ 60) *
(Get.find<HomeCaptainController>().heavyPrice) + (Get.find<HomeCaptainController>().heavyPrice) +
@@ -839,13 +849,9 @@ class MapDriverController extends GetxController {
Get.find<HomeCaptainController>().mashwariPrice); Get.find<HomeCaptainController>().mashwariPrice);
} else { } else {
price = carType == 'Comfort' // || carType == 'Free Ride' price = carType == 'Comfort' // || carType == 'Free Ride'
? (i ~/ 60) + ? (i ~/ 60) + (price) - int.parse(duration)
(recentDistanceToDash *
Get.find<HomeCaptainController>().comfortPrice)
: carType == 'Lady' : carType == 'Lady'
? (i ~/ 60) + ? (i ~/ 60) + (price) - int.parse(duration)
(recentDistanceToDash *
Get.find<HomeCaptainController>().comfortPrice)
: carType == 'RayehGaiComfort' : carType == 'RayehGaiComfort'
? (i ~/ 60) + ? (i ~/ 60) +
(recentDistanceToDash * (recentDistanceToDash *
@@ -854,6 +860,8 @@ class MapDriverController extends GetxController {
(recentDistanceToDash * (recentDistanceToDash *
Get.find<HomeCaptainController>().mashwariPrice); Get.find<HomeCaptainController>().mashwariPrice);
} }
}
// $1 for each minute + $4 for each km // $1 for each minute + $4 for each km
price = (price * double.parse(kazan)) + price; // Add 10% tax price = (price * double.parse(kazan)) + price; // Add 10% tax
speed = Get.find<LocationController>().speed * 3.6; speed = Get.find<LocationController>().speed * 3.6;