diff --git a/android/app/build.gradle b/android/app/build.gradle index 3ebfba1..2dafa76 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -55,8 +55,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 23 targetSdkVersion 34 - versionCode 54 - versionName '1.5.54' + versionCode 55 + versionName '1.5.55' // manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml'] } diff --git a/lib/constant/box_name.dart b/lib/constant/box_name.dart index ed95722..3e1e04e 100644 --- a/lib/constant/box_name.dart +++ b/lib/constant/box_name.dart @@ -7,6 +7,7 @@ class BoxName { static const String gender = "gender"; static const String carType = "carType"; static const String deviceInfo = "deviceInfo"; + static const String packagInfo = "packagInfo"; static const String phoneVerified = "phoneVerified"; static const String carPlate = "carPlate"; static const String statusDriverLocation = "statusDriverLocation"; diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index 09f52f3..d7f32a8 100644 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -217,9 +217,9 @@ class CRUD { 'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}', }, ); - print(response.request); - print(response.body); - print(payload); + // print(response.request); + // print(response.body); + // print(payload); var jsonData = jsonDecode(response.body); if (response.statusCode == 200) { if (jsonData['status'] == 'success') { diff --git a/lib/controller/functions/package_info.dart b/lib/controller/functions/package_info.dart index 29bab09..ef8da45 100644 --- a/lib/controller/functions/package_info.dart +++ b/lib/controller/functions/package_info.dart @@ -1,5 +1,6 @@ import 'dart:convert'; import 'dart:io'; +import 'package:SEFER/constant/box_name.dart'; import 'package:SEFER/constant/links.dart'; import 'package:SEFER/controller/functions/crud.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:url_launcher/url_launcher.dart'; import '../../constant/info.dart'; +import '../../main.dart'; Future checkForUpdate(BuildContext context) async { final packageInfo = await PackageInfo.fromPlatform(); @@ -16,6 +18,7 @@ Future checkForUpdate(BuildContext context) async { print('currentVersion is : $currentVersion'); // Fetch the latest version from your server String latestVersion = await getPackageInfo(); + box.write(BoxName.packagInfo, version); if (latestVersion.isNotEmpty && latestVersion != currentVersion) { showUpdateDialog(context); diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 370db48..66d4c9d 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -166,23 +166,28 @@ class MapDriverController extends GetxController { } void startTimerToShowPassengerInfoWindowFromDriver() async { - isPassengerInfoWindow = true; - for (int i = 0; i <= int.parse(durationToPassenger); i++) { - await Future.delayed(const Duration(seconds: 1)); - progressToPassenger = i / int.parse(durationToPassenger); - remainingTimeToPassenger = int.parse(durationToPassenger) - i; - if (remainingTimeToPassenger == 0) { - isBtnRideBegin = true; + if (box.read(BoxName.rideStatus) == 'Begin') { + isPassengerInfoWindow = false; + } else { + isPassengerInfoWindow = true; + for (int i = 0; i <= int.parse(durationToPassenger); i++) { + await Future.delayed(const Duration(seconds: 1)); + 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(); } - - int minutes = (remainingTimeToPassenger / 60).floor(); - int seconds = remainingTimeToPassenger % 60; - stringRemainingTimeToPassenger = - '$minutes:${seconds.toString().padLeft(2, '0')}'; - - update(); } + // update(); // startTimerToShowDriverToPassengerDuration(); } @@ -272,8 +277,19 @@ class MapDriverController extends GetxController { 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 { double _distance = await calculateDistanceBetweenDriverAndPassengerLocation(); @@ -448,7 +464,9 @@ class MapDriverController extends GetxController { title: 'Ok'.tr, kolor: AppColor.greenColor, onPressed: () { - if (distanceToDestination > 1000) { + if (distanceToDestination > 900 || + (double.parse(distance) < 1000 && + distanceToDestination > 500)) { Get.back(); finishRideFromDriver1(); } else { @@ -456,7 +474,9 @@ class MapDriverController extends GetxController { if (distanceToDestination < 150) { // 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( diff --git a/lib/controller/home/splash_screen_controlle.dart b/lib/controller/home/splash_screen_controlle.dart index 1b81180..b83ad14 100644 --- a/lib/controller/home/splash_screen_controlle.dart +++ b/lib/controller/home/splash_screen_controlle.dart @@ -18,15 +18,14 @@ class SplashScreenController extends GetxController late Animation zoomOutAnimation; String packageInfo = ''; - late String version = '1.5.48'; + Future checkForUpdate() async { final packageInfo = await PackageInfo.fromPlatform(); final currentVersion = packageInfo.buildNumber; final version1 = packageInfo.version; print('currentVersion is : $currentVersion'); // Fetch the latest version from your server - version = version1.toString(); - print('version: ${version}'); + update(); } diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index f57a6c0..5d67a83 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -352,6 +352,8 @@ class MyTranslation extends Translations { "Where to": "أين؟", "Notifications": "الإشعارات", "Profile": "الملف الشخصي", + 'go to your passenger location before\nPassenger cancel trip': + "اذهب إلى موقع الراكب قبل أن يلغي الراكب الرحلة", "Home": "الصفحة الرئيسية", "My Cared": "ماي كيرت", "Add Card": "أضف بطاقة", diff --git a/lib/splash_screen_page.dart b/lib/splash_screen_page.dart index 0b726bc..f1aecec 100644 --- a/lib/splash_screen_page.dart +++ b/lib/splash_screen_page.dart @@ -1,3 +1,4 @@ +import 'package:SEFER/constant/box_name.dart'; import 'package:animated_text_kit/animated_text_kit.dart'; import 'package:flutter/material.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/home/splash_screen_controlle.dart'; +import 'main.dart'; class SplashScreen extends StatelessWidget { final SplashScreenController splashScreenController = @@ -68,13 +70,18 @@ class SplashScreen extends StatelessWidget { const SizedBox( 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, + ), + ], + ), ); } } diff --git a/lib/views/home/Captin/home_captain/home_captin.dart b/lib/views/home/Captin/home_captain/home_captin.dart index 1e21715..2bab04c 100644 --- a/lib/views/home/Captin/home_captain/home_captin.dart +++ b/lib/views/home/Captin/home_captain/home_captin.dart @@ -258,14 +258,14 @@ class HomeCaptain extends StatelessWidget { ? { Get.to(() => PassengerLocationMapPage(), arguments: box.read(BoxName.rideArguments)), - Get.find() + Get.put(MapDriverController()) .changeRideToBeginToPassenger() } : { Get.to(() => PassengerLocationMapPage(), arguments: box.read(BoxName.rideArguments)), - Get.find() - .changeRideToBeginToPassenger() + Get.put(MapDriverController()) + .startRideFromStartApp() }; }, icon: const Icon( diff --git a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart index 1ad3ff2..a40025c 100644 --- a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart +++ b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart @@ -7,7 +7,6 @@ import 'package:vibration/vibration.dart'; import '../../../../constant/colors.dart'; import '../../../../constant/style.dart'; -import '../../../../controller/home/captin/home_captain_controller.dart'; import '../../../../controller/home/captin/map_driver_controller.dart'; import '../../../widgets/elevated_btn.dart';