This commit is contained in:
Hamza-Ayed
2024-07-10 20:54:27 +03:00
parent 43eb600fbf
commit a90ffd8050
10 changed files with 64 additions and 33 deletions

View File

@@ -55,8 +55,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.
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 34 targetSdkVersion 34
versionCode 54 versionCode 55
versionName '1.5.54' versionName '1.5.55'
// manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml'] // manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml']
} }

View File

@@ -7,6 +7,7 @@ class BoxName {
static const String gender = "gender"; static const String gender = "gender";
static const String carType = "carType"; static const String carType = "carType";
static const String deviceInfo = "deviceInfo"; static const String deviceInfo = "deviceInfo";
static const String packagInfo = "packagInfo";
static const String phoneVerified = "phoneVerified"; static const String phoneVerified = "phoneVerified";
static const String carPlate = "carPlate"; static const String carPlate = "carPlate";
static const String statusDriverLocation = "statusDriverLocation"; static const String statusDriverLocation = "statusDriverLocation";

View File

@@ -217,9 +217,9 @@ class CRUD {
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}', 'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}',
}, },
); );
print(response.request); // print(response.request);
print(response.body); // print(response.body);
print(payload); // print(payload);
var jsonData = jsonDecode(response.body); var jsonData = jsonDecode(response.body);
if (response.statusCode == 200) { if (response.statusCode == 200) {
if (jsonData['status'] == 'success') { if (jsonData['status'] == 'success') {

View File

@@ -1,5 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/constant/links.dart'; import 'package:SEFER/constant/links.dart';
import 'package:SEFER/controller/functions/crud.dart'; import 'package:SEFER/controller/functions/crud.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@@ -8,6 +9,7 @@ import 'package:get/get.dart';
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info_plus/package_info_plus.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import '../../constant/info.dart'; import '../../constant/info.dart';
import '../../main.dart';
Future<void> checkForUpdate(BuildContext context) async { Future<void> checkForUpdate(BuildContext context) async {
final packageInfo = await PackageInfo.fromPlatform(); final packageInfo = await PackageInfo.fromPlatform();
@@ -16,6 +18,7 @@ Future<void> checkForUpdate(BuildContext context) async {
print('currentVersion is : $currentVersion'); print('currentVersion is : $currentVersion');
// Fetch the latest version from your server // Fetch the latest version from your server
String latestVersion = await getPackageInfo(); String latestVersion = await getPackageInfo();
box.write(BoxName.packagInfo, version);
if (latestVersion.isNotEmpty && latestVersion != currentVersion) { if (latestVersion.isNotEmpty && latestVersion != currentVersion) {
showUpdateDialog(context); showUpdateDialog(context);

View File

@@ -166,23 +166,28 @@ class MapDriverController extends GetxController {
} }
void startTimerToShowPassengerInfoWindowFromDriver() async { void startTimerToShowPassengerInfoWindowFromDriver() async {
isPassengerInfoWindow = true; if (box.read(BoxName.rideStatus) == 'Begin') {
for (int i = 0; i <= int.parse(durationToPassenger); i++) { isPassengerInfoWindow = false;
await Future.delayed(const Duration(seconds: 1)); } else {
progressToPassenger = i / int.parse(durationToPassenger); isPassengerInfoWindow = true;
remainingTimeToPassenger = int.parse(durationToPassenger) - i; for (int i = 0; i <= int.parse(durationToPassenger); i++) {
if (remainingTimeToPassenger == 0) { await Future.delayed(const Duration(seconds: 1));
isBtnRideBegin = true; progressToPassenger = i / int.parse(durationToPassenger);
remainingTimeToPassenger = int.parse(durationToPassenger) - i;
if (remainingTimeToPassenger == 0) {
isBtnRideBegin = true;
update();
}
int minutes = (remainingTimeToPassenger / 60).floor();
int seconds = remainingTimeToPassenger % 60;
stringRemainingTimeToPassenger =
'$minutes:${seconds.toString().padLeft(2, '0')}';
update(); update();
} }
int minutes = (remainingTimeToPassenger / 60).floor();
int seconds = remainingTimeToPassenger % 60;
stringRemainingTimeToPassenger =
'$minutes:${seconds.toString().padLeft(2, '0')}';
update();
} }
// update(); // update();
// startTimerToShowDriverToPassengerDuration(); // startTimerToShowDriverToPassengerDuration();
} }
@@ -272,8 +277,19 @@ class MapDriverController extends GetxController {
return d['message'][0]['count']; return d['message'][0]['count'];
} }
Position? currentPosition; void startRideFromStartApp() {
changeRideToBeginToPassenger();
isPassengerInfoWindow = false;
isRideStarted = true;
isRideFinished = false;
remainingTimeInPassengerLocatioWait = 0;
timeWaitingPassenger = 0;
box.write(BoxName.statusDriverLocation, 'on');
update();
// rideIsBeginPassengerTimer();
}
Position? currentPosition;
startRideFromDriver() async { startRideFromDriver() async {
double _distance = double _distance =
await calculateDistanceBetweenDriverAndPassengerLocation(); await calculateDistanceBetweenDriverAndPassengerLocation();
@@ -448,7 +464,9 @@ class MapDriverController extends GetxController {
title: 'Ok'.tr, title: 'Ok'.tr,
kolor: AppColor.greenColor, kolor: AppColor.greenColor,
onPressed: () { onPressed: () {
if (distanceToDestination > 1000) { if (distanceToDestination > 900 ||
(double.parse(distance) < 1000 &&
distanceToDestination > 500)) {
Get.back(); Get.back();
finishRideFromDriver1(); finishRideFromDriver1();
} else { } else {
@@ -456,7 +474,9 @@ class MapDriverController extends GetxController {
if (distanceToDestination < 150) { if (distanceToDestination < 150) {
// todo add scam from start point and dont move // todo add scam from start point and dont move
} }
MyDialog().getDialog('you are not moved yet !'.tr, '', () {}); MyDialog().getDialog('you are not moved yet !'.tr, '', () {
Get.back();
});
} }
}), }),
cancel: MyElevatedButton( cancel: MyElevatedButton(

View File

@@ -18,15 +18,14 @@ class SplashScreenController extends GetxController
late Animation<double> zoomOutAnimation; late Animation<double> zoomOutAnimation;
String packageInfo = ''; String packageInfo = '';
late String version = '1.5.48';
Future<void> checkForUpdate() async { Future<void> checkForUpdate() async {
final packageInfo = await PackageInfo.fromPlatform(); final packageInfo = await PackageInfo.fromPlatform();
final currentVersion = packageInfo.buildNumber; final currentVersion = packageInfo.buildNumber;
final version1 = packageInfo.version; final version1 = packageInfo.version;
print('currentVersion is : $currentVersion'); print('currentVersion is : $currentVersion');
// Fetch the latest version from your server // Fetch the latest version from your server
version = version1.toString();
print('version: ${version}');
update(); update();
} }

View File

@@ -352,6 +352,8 @@ class MyTranslation extends Translations {
"Where to": "أين؟", "Where to": "أين؟",
"Notifications": "الإشعارات", "Notifications": "الإشعارات",
"Profile": "الملف الشخصي", "Profile": "الملف الشخصي",
'go to your passenger location before\nPassenger cancel trip':
"اذهب إلى موقع الراكب قبل أن يلغي الراكب الرحلة",
"Home": "الصفحة الرئيسية", "Home": "الصفحة الرئيسية",
"My Cared": "ماي كيرت", "My Cared": "ماي كيرت",
"Add Card": "أضف بطاقة", "Add Card": "أضف بطاقة",

View File

@@ -1,3 +1,4 @@
import 'package:SEFER/constant/box_name.dart';
import 'package:animated_text_kit/animated_text_kit.dart'; import 'package:animated_text_kit/animated_text_kit.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@@ -7,6 +8,7 @@ import 'package:SEFER/constant/style.dart';
import 'controller/functions/location_background_controller.dart'; import 'controller/functions/location_background_controller.dart';
import 'controller/home/splash_screen_controlle.dart'; import 'controller/home/splash_screen_controlle.dart';
import 'main.dart';
class SplashScreen extends StatelessWidget { class SplashScreen extends StatelessWidget {
final SplashScreenController splashScreenController = final SplashScreenController splashScreenController =
@@ -68,13 +70,18 @@ class SplashScreen extends StatelessWidget {
const SizedBox( const SizedBox(
height: 100, height: 100,
), ),
Text(
splashScreenController.version.toString(),
style: AppStyle.title,
),
], ],
), ),
), ),
bottomNavigationBar: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
box.read(BoxName.packagInfo) ?? '1.4.54',
style: AppStyle.subtitle,
),
],
),
); );
} }
} }

View File

@@ -258,14 +258,14 @@ class HomeCaptain extends StatelessWidget {
? { ? {
Get.to(() => PassengerLocationMapPage(), Get.to(() => PassengerLocationMapPage(),
arguments: box.read(BoxName.rideArguments)), arguments: box.read(BoxName.rideArguments)),
Get.find<MapDriverController>() Get.put(MapDriverController())
.changeRideToBeginToPassenger() .changeRideToBeginToPassenger()
} }
: { : {
Get.to(() => PassengerLocationMapPage(), Get.to(() => PassengerLocationMapPage(),
arguments: box.read(BoxName.rideArguments)), arguments: box.read(BoxName.rideArguments)),
Get.find<MapDriverController>() Get.put(MapDriverController())
.changeRideToBeginToPassenger() .startRideFromStartApp()
}; };
}, },
icon: const Icon( icon: const Icon(

View File

@@ -7,7 +7,6 @@ import 'package:vibration/vibration.dart';
import '../../../../constant/colors.dart'; import '../../../../constant/colors.dart';
import '../../../../constant/style.dart'; import '../../../../constant/style.dart';
import '../../../../controller/home/captin/home_captain_controller.dart';
import '../../../../controller/home/captin/map_driver_controller.dart'; import '../../../../controller/home/captin/map_driver_controller.dart';
import '../../../widgets/elevated_btn.dart'; import '../../../widgets/elevated_btn.dart';