diff --git a/android/app/build.gradle b/android/app/build.gradle index 9fa2db1..3ebfba1 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -32,7 +32,7 @@ def keystorePropertiesFile = rootProject.file('key.properties') android { namespace "com.sefer_driver" - compileSdkVersion 33 + compileSdkVersion 34 ndkVersion flutter.ndkVersion compileOptions { @@ -54,9 +54,9 @@ android { // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 23 - targetSdkVersion 33 - versionCode 52 - versionName '1.5.52' + targetSdkVersion 34 + versionCode 54 + versionName '1.5.54' // manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml'] } diff --git a/android/build.gradle b/android/build.gradle index 19c865e..8779c3f 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -9,7 +9,7 @@ buildscript { // START: FlutterFire Configuration classpath 'com.google.gms:google-services:4.4.2' // END: FlutterFire Configuration - classpath 'com.android.tools.build:gradle:7.3.1' + classpath 'com.android.tools.build:gradle:8.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/android/gradle.properties b/android/gradle.properties index bdce12a..d2bc94c 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,4 +1,7 @@ # org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -org.gradle.jvmargs=-Xmx4096m \ No newline at end of file +org.gradle.jvmargs=-Xmx4096m +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false \ No newline at end of file diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 2443e72..887d624 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -4,4 +4,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 7df1adb..6b0e470 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -21,7 +21,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 47 + 48 CFBundleSignature ???? CFBundleURLTypes @@ -36,7 +36,7 @@ CFBundleVersion - 4.0.47 + 4.0.48 FirebaseAppDelegateProxyEnabled NO GMSApiKey diff --git a/lib/constant/api_key.dart b/lib/constant/api_key.dart index 3cea15d..6433459 100644 --- a/lib/constant/api_key.dart +++ b/lib/constant/api_key.dart @@ -1,74 +1,73 @@ +import 'package:secure_string_operations/secure_string_operations.dart'; + import '../env/env.dart'; import 'char_map.dart'; -import 'credential.dart'; class AK { - static final AC a = AC(); - static final String publishableKey = - AC().r(AC().r(AC().r(Env.stripePublishableKe, cn), cC), cs); - static final String secretKey = a.r(a.r(a.r(Env.secretKey, cn), cC), cs); + X.r(X.r(X.r(Env.stripePublishableKe, cn), cC), cs); + static final String secretKey = X.r(X.r(X.r(Env.secretKey, cn), cC), cs); static final String basicAuthCredentials = - a.r(a.r(a.r(Env.basicAuthCredentials, cn), cC), cs); + X.r(X.r(X.r(Env.basicAuthCredentials, cn), cC), cs); static final String accountSIDTwillo = - a.r(a.r(a.r(Env.accountSIDTwillo, cn), cC), cs); - static final String serverAPI = a.r(a.r(a.r(Env.serverAPI, cn), cC), cs); - static final String mapAPIKEY = a.r(a.r(a.r(Env.mapAPIKEY, cn), cC), cs); + X.r(X.r(X.r(Env.accountSIDTwillo, cn), cC), cs); + static final String serverAPI = X.r(X.r(X.r(Env.serverAPI, cn), cC), cs); + static final String mapAPIKEY = X.r(X.r(X.r(Env.mapAPIKEY, cn), cC), cs); static final String twilloRecoveryCode = - a.r(a.r(a.r(Env.twilloRecoveryCode, cn), cC), cs); + X.r(X.r(X.r(Env.twilloRecoveryCode, cn), cC), cs); static final String authTokenTwillo = - a.r(a.r(a.r(Env.authTokenTwillo, cn), cC), cs); - static final String chatGPTkey = a.r(a.r(a.r(Env.chatGPTkey, cn), cC), cs); + X.r(X.r(X.r(Env.authTokenTwillo, cn), cC), cs); + static final String chatGPTkey = X.r(X.r(X.r(Env.chatGPTkey, cn), cC), cs); static final String transactionCloude = - a.r(a.r(a.r(Env.transactionCloude, cn), cC), cs); - static final String visionApi = a.r(a.r(a.r(Env.visionApi, cn), cC), cs); + X.r(X.r(X.r(Env.transactionCloude, cn), cC), cs); + static final String visionApi = X.r(X.r(X.r(Env.visionApi, cn), cC), cs); static final String chatGPTkeySefer = - a.r(a.r(a.r(Env.chatGPTkeySefer, cn), cC), cs); + X.r(X.r(X.r(Env.chatGPTkeySefer, cn), cC), cs); static final String chatGPTkeySeferNew = - a.r(a.r(a.r(Env.chatGPTkeySeferNew, cn), cC), cs); + X.r(X.r(X.r(Env.chatGPTkeySeferNew, cn), cC), cs); static final String serverPHP = Env.serverPHP; - static final String llamaKey = a.r(a.r(a.r(Env.llamaKey, cn), cC), cs); - static final String cohere = a.r(a.r(a.r(Env.cohere, cn), cC), cs); - static final String claudeAiAPI = a.r(a.r(a.r(Env.claudeAiAPI, cn), cC), cs); + static final String llamaKey = X.r(X.r(X.r(Env.llamaKey, cn), cC), cs); + static final String cohere = X.r(X.r(X.r(Env.cohere, cn), cC), cs); + static final String claudeAiAPI = X.r(X.r(X.r(Env.claudeAiAPI, cn), cC), cs); static final String payPalClientId = - a.r(a.r(a.r(Env.payPalClientId, cn), cC), cs); + X.r(X.r(X.r(Env.payPalClientId, cn), cC), cs); static final String payPalSecret = - a.r(a.r(a.r(Env.payPalSecret, cn), cC), cs); - static final String geminiApi = a.r(a.r(a.r(Env.geminiApi, cn), cC), cs); - static final String agoraAppId = a.r(a.r(a.r(Env.agoraAppId, cn), cC), cs); + X.r(X.r(X.r(Env.payPalSecret, cn), cC), cs); + static final String geminiApi = X.r(X.r(X.r(Env.geminiApi, cn), cC), cs); + static final String agoraAppId = X.r(X.r(X.r(Env.agoraAppId, cn), cC), cs); static final String agoraAppCertificate = - a.r(a.r(a.r(Env.agoraAppCertificate, cn), cC), cs); + X.r(X.r(X.r(Env.agoraAppCertificate, cn), cC), cs); static final String payPalClientIdLive = - a.r(a.r(a.r(Env.payPalClientIdLive, cn), cC), cs); + X.r(X.r(X.r(Env.payPalClientIdLive, cn), cC), cs); static final String payPalSecretLive = - a.r(a.r(a.r(Env.payPalSecretLive, cn), cC), cs); + X.r(X.r(X.r(Env.payPalSecretLive, cn), cC), cs); static final String integrationIdPayMob = - a.r(a.r(a.r(Env.integrationIdPayMob, cn), cC), cs); + X.r(X.r(X.r(Env.integrationIdPayMob, cn), cC), cs); static final String passwordPayMob = - a.r(a.r(a.r(Env.passwordPayMob, cn), cC), cs); + X.r(X.r(X.r(Env.passwordPayMob, cn), cC), cs); static final String usernamePayMob = - a.r(a.r(a.r(Env.usernamePayMob, cn), cC), cs); + X.r(X.r(X.r(Env.usernamePayMob, cn), cC), cs); static final String payMobApikey = - a.r(a.r(a.r(Env.payMobApikey, cn), cC), cs); + X.r(X.r(X.r(Env.payMobApikey, cn), cC), cs); static final String integrationIdPayMobWallet = - a.r(a.r(a.r(Env.integrationIdPayMobWallet, cn), cC), cs); + X.r(X.r(X.r(Env.integrationIdPayMobWallet, cn), cC), cs); static final String smsPasswordEgypt = - a.r(a.r(a.r(Env.smsPasswordEgypt, cn), cC), cs); + X.r(X.r(X.r(Env.smsPasswordEgypt, cn), cC), cs); static final String ocpApimSubscriptionKey = Env.ocpApimSubscriptionKey; static final String chatGPTkeySeferNew4 = - a.r(a.r(a.r(Env.chatGPTkeySeferNew4, cn), cC), cs); + X.r(X.r(X.r(Env.chatGPTkeySeferNew4, cn), cC), cs); static final String anthropicAIkeySeferNew = - a.r(a.r(a.r(Env.anthropicAIkeySeferNew, cn), cC), cs); - static final String llama3Key = a.r(a.r(a.r(Env.llama3Key, cn), cC), cs); + X.r(X.r(X.r(Env.anthropicAIkeySeferNew, cn), cC), cs); + static final String llama3Key = X.r(X.r(X.r(Env.llama3Key, cn), cC), cs); static final String payMobOutClientSecrret = - a.r(a.r(a.r(Env.payMobOutClientSecrret, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutClientSecrret, cn), cC), cs); static final String payMobOutClient_id = - a.r(a.r(a.r(Env.payMobOutClient_id, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutClient_id, cn), cC), cs); static final String payMobOutPassword = - a.r(a.r(a.r(Env.payMobOutPassword, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutPassword, cn), cC), cs); static final String payMobOutUserName = - a.r(a.r(a.r(Env.payMobOutUserName, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutUserName, cn), cC), cs); /////////// - static final String keyOfApp = a.r(a.r(a.r(Env.keyOfApp, cn), cC), cs); + static final String keyOfApp = X.r(X.r(X.r(Env.keyOfApp, cn), cC), cs); } diff --git a/lib/constant/credential.dart b/lib/constant/credential.dart index 0c1a00b..c39f861 100644 --- a/lib/constant/credential.dart +++ b/lib/constant/credential.dart @@ -1,5 +1,6 @@ import 'dart:convert'; import 'package:crypto/crypto.dart'; +import 'package:secure_string_operations/secure_string_operations.dart'; import '../controller/functions/crud.dart'; import '../main.dart'; @@ -16,7 +17,7 @@ class AC { Map jsonData = {}; for (var i = 0; i < decod['message'].length; i++) { String h = decod['message'][i]['hashed_key'].toString(); - String retrievedString = r(r(r(h, cn), cC), cs); + String retrievedString = X.r(X.r(X.r(h, cn), cC), cs); await storage.write( key: decod['message'][i]['name'].toString(), @@ -99,46 +100,4 @@ class AC { return q; } - - String c(String a, Map b) { - StringBuffer c = StringBuffer(); - c.write(a); - - String d = "Bl"; - c.write(b[d] ?? d); - - StringBuffer e = StringBuffer(); - String f = c.toString(); - - for (int g = 0; g < f.length; g++) { - String h = f[g]; - e.write(b[h] ?? h); - } - - return e.toString(); - } - - String r(String a, Map b) { - StringBuffer c = StringBuffer(); - String d = "Bl"; - int e = d.length; - - for (int f = 0; f < a.length; f++) { - String g = a[f]; - String h = b.keys.firstWhere( - (i) => b[i] == g, - orElse: () => g, - ); - - c.write(h); - } - - String j = c.toString(); - - if (j.endsWith(d)) { - j = j.substring(0, j.length - e); - } - - return j; - } } diff --git a/lib/controller/auth/captin/login_captin_controller.dart b/lib/controller/auth/captin/login_captin_controller.dart index 4418812..9c1ebe2 100644 --- a/lib/controller/auth/captin/login_captin_controller.dart +++ b/lib/controller/auth/captin/login_captin_controller.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:math'; import 'package:SEFER/constant/colors.dart'; import 'package:SEFER/controller/functions/location_background_controller.dart'; @@ -11,9 +10,7 @@ import 'package:get/get.dart'; import 'package:SEFER/constant/box_name.dart'; import 'package:SEFER/constant/links.dart'; import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/functions/secure_storage.dart'; import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/captin/verify_email_captain.dart'; import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart'; import 'package:location/location.dart'; diff --git a/lib/controller/auth/captin/register_captin_controller.dart b/lib/controller/auth/captin/register_captin_controller.dart index ebda9ec..8c6db90 100644 --- a/lib/controller/auth/captin/register_captin_controller.dart +++ b/lib/controller/auth/captin/register_captin_controller.dart @@ -106,6 +106,7 @@ class RegisterCaptainController extends GetxController { await CRUD().post(link: AppLink.sendVerifyOtpMessage, payload: { 'phone_number': '+2${phoneController.text}', 'token_code': randomNumber.toString(), + "driverId": box.read(BoxName.driverID) }); await smsEgyptController.sendSmsEgypt( @@ -119,6 +120,7 @@ class RegisterCaptainController extends GetxController { await CRUD().post(link: AppLink.sendVerifyOtpMessage, payload: { 'phone_number': '+2${phoneController.text}', 'token_code': randomNumber.toString(), + "driverId": box.read(BoxName.driverID) }); await smsEgyptController.sendSmsEgypt( diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index 4dc8c67..09f52f3 100644 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -217,6 +217,9 @@ class CRUD { 'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}', }, ); + 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/sms_egypt_controller.dart b/lib/controller/functions/sms_egypt_controller.dart index 17ae75b..19625d2 100644 --- a/lib/controller/functions/sms_egypt_controller.dart +++ b/lib/controller/functions/sms_egypt_controller.dart @@ -13,7 +13,6 @@ class SmsEgyptController extends GetxController { var headers = {'Content-Type': 'application/json'}; Future sendSmsEgypt(String phone, otp) async { - print('password ==== ${AK.smsPasswordEgypt}'); var body = jsonEncode({ "username": AppInformation.appName, "password": AK.smsPasswordEgypt, //'E)Pu=an/@Z', diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index 34af9fc..224cf60 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -313,7 +313,12 @@ class HomeCaptainController extends GetxController { payload: {'driverID': box.read(BoxName.driverID).toString()}); data = jsonDecode(res); - totalMoneyInSEFER = data['message'][0]['total_amount']; + totalMoneyInSEFER = data['message'][0]['total_amount'] ?? '0'; + update(); + } + + void changeToAppliedRide(String status) { + box.write(BoxName.rideStatus, status); update(); } diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 07e5f0e..370db48 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -222,6 +222,8 @@ class MapDriverController extends GetxController { 'driverGoToPassengerTime': DateTime.now().toString(), 'status': 'Applied' }); + + // Get.find().changeToAppliedRide('Applied'); box.write(BoxName.rideStatus, 'Applied'); FirebaseMessagesController().sendNotificationToAnyWithoutData( 'DriverIsGoingToPassenger', @@ -284,8 +286,11 @@ class MapDriverController extends GetxController { remainingTimeInPassengerLocatioWait = 0; timeWaitingPassenger = 0; box.write(BoxName.statusDriverLocation, 'on'); - box.write(BoxName.rideStatus, 'Begin'); //todo ride details - + // box.write(BoxName.rideStatus, 'Begin'); // + // todo ride details + // Get.find().changeToAppliedRide('Begin'); + box.write(BoxName.rideStatus, 'Begin'); + // Get.find().update(); update(); await CRUD().post(link: AppLink.updateRides, payload: { 'id': rideId, @@ -490,6 +495,8 @@ class MapDriverController extends GetxController { isRideStarted = false; isPriceWindow = false; box.write(BoxName.rideStatus, 'Finished'); + // Get.find().changeToAppliedRide('Finished'); + // Get.find().update(); totalCost = price < 30 ? carType != 'Comfort' && carType != 'Mashwari' && carType != 'Lady' ? '20' diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index 8d21cc5..f57a6c0 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -256,12 +256,13 @@ class MyTranslation extends Translations { "التقاط صورة للجهة الخلفية من وثيقة الهوية الخاصة بك", "ID Documents Front": "الوجه الأمامي لوثائق الهوية", "First Name": "الاسم الأول", + "Press to hear": "اضغط للاستماع", "CardID": "التقاط صورة للجهة الخلفية من وثيقة الهوية الخاصة بك", "Full Name": "الاسم الكامل", "Vehicle Details Front": "تفاصيل المركبة الأمامية", "Plate Number": "رقم اللوحة", "Owner Name": "اسم المالك", - "Vehicle Details Back": "تفاصيل السيارة مرة أخرى", + "Vehicle Details Back": "تفاصيل المركبة الخلفية", "Make": "‏نوع السيارة", "Model": "طراز السيارة:", "Year": "السنة", @@ -548,7 +549,7 @@ class MyTranslation extends Translations { "Current Location": "الموقع الحالي", "Add Location 1": "أضف الموقع 1", "You must Verify email !.": "يجب التحقق من البريد الإلكتروني!", - "Cropper": "المحصاد", + "Cropper": "القص", "Saved Sucssefully": "تم الحفظ بنجاح", "Select Date": "اختر التاريخ", "Birth Date": "تاريخ الميلاد", diff --git a/lib/views/auth/captin/cards/egypt_card_a_i.dart b/lib/views/auth/captin/cards/egypt_card_a_i.dart index 4f783ee..4318595 100644 --- a/lib/views/auth/captin/cards/egypt_card_a_i.dart +++ b/lib/views/auth/captin/cards/egypt_card_a_i.dart @@ -72,7 +72,7 @@ class EgyptCardAI extends StatelessWidget { // controller.responseCriminalRecordEgypt // .isNotEmpty ) - ? Get.height * .5 + ? Get.height * .7 : Get.height * .85, child: ListView( children: [ @@ -1114,7 +1114,7 @@ Please fill in the JSON object with the extracted information, following these g class VideoButton extends StatelessWidget { final String videoUrl = - "https://www.youtube.com/watch?v=dQw4w9WgXcQ"; // Replace with your video URL + "https://youtube.com/shorts/fC0RmYH5B_0?feature=share"; // Replace with your video URL @override Widget build(BuildContext context) { diff --git a/lib/views/home/Captin/home_captain/home_captin.dart b/lib/views/home/Captin/home_captain/home_captin.dart index 29583f0..1e21715 100644 --- a/lib/views/home/Captin/home_captain/home_captin.dart +++ b/lib/views/home/Captin/home_captain/home_captin.dart @@ -259,7 +259,7 @@ class HomeCaptain extends StatelessWidget { Get.to(() => PassengerLocationMapPage(), arguments: box.read(BoxName.rideArguments)), Get.find() - .driverGoToPassenger() + .changeRideToBeginToPassenger() } : { Get.to(() => PassengerLocationMapPage(), diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index c55973f..a3a6091 100644 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -26,8 +26,8 @@ GetBuilder leftMainMenuCaptainIcons() { // borderRadius: BorderRadius.circular(15)), // child: IconButton( // onPressed: () { - // // AC credentials = AC(); - // + // AC credentials = AC(); + // // String apikey = AK.passwordPayMob; // // String convertedStringN = credentials.c( // // credentials.c(credentials.c(apikey, cs), cC), cn); @@ -45,22 +45,26 @@ GetBuilder leftMainMenuCaptainIcons() { // // key.forEach((key, apiKey) { // // Get.to(() => SmsSignupEgypt()); // // keys.forEach((key, apiKey) { - // // String retrievedStringS = credentials.r( - // // credentials.r(credentials.r(apiKey, cn), cC), cs); - // // String encryptedApiKey = - // // KeyEncryption.encryptKey(retrievedStringS); - // // print('$key=$encryptedApiKey'); + // // String apikey = Env.basicAuthCredentials; + // // print('apikey: ${apikey}'); + // // String retrievedStringS = credentials.r( + // // credentials.r(credentials.r(apikey, cn), cC), cs); + // // print('retrievedStringS: $retrievedStringS'); + // // String encryptedApiKey = + // // X.c(X.c(X.c(retrievedStringS, cs), cC), cn); + // // print('encrypted $encryptedApiKey'); // // String decryptedApiKey = - // // KeyEncryption.decryptKey(encryptedApiKey); + // // X.r(X.r(X.r(encryptedApiKey, cn), cC), cs); // // print('Decrypted API Key for : $decryptedApiKey'); - // // if (decryptedApiKey == apiKey) { - // // print('Keys match for '); + // // if (decryptedApiKey == retrievedStringS) { + // // print('match '); // // } else { // // print('Keys do not match for '); // // } - // // }); + // // } + // // ); // }, // icon: const Icon( // FontAwesome.map_signs, @@ -68,9 +72,10 @@ GetBuilder leftMainMenuCaptainIcons() { // color: Colors.black, // )), // ), - // const SizedBox( - // height: 5, - // ), + + const SizedBox( + height: 5, + ), AnimatedContainer( duration: const Duration(microseconds: 200), width: controller.widthMapTypeAndTraffic, @@ -185,28 +190,15 @@ GetBuilder leftMainMenuCaptainIcons() { // borderRadius: BorderRadius.circular(15)), // child: IconButton( // onPressed: () { - // AC credentials = AC(); - // String apiKey = ''; - // String convertedStringN = credentials.c( - // credentials.c(credentials.c(apiKey, cs), cC), cn); - // - // String retrievedStringS = credentials.r( - // credentials.r(credentials.r(convertedStringN, cn), cC), - // cs); - // // - // if (retrievedStringS == apiKey) { - // print('convertedStringN --- $convertedStringN'); - // print('retrievedStringS ---$retrievedStringS'); - // print('same'); - // } - // }, - // icon: const Icon( - // FontAwesome5.grin_tears, - // size: 29, - // color: AppColor.blueColor, + // print(box.read(BoxName.rideStatus)); + // }, + // icon: const Icon( + // FontAwesome5.grin_tears, + // size: 29, + // color: AppColor.blueColor, + // ), // ), // ), - // ), ], )), ); diff --git a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart index 56a7c87..5e11550 100644 --- a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart +++ b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart @@ -3,17 +3,16 @@ import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; import 'package:SEFER/constant/colors.dart'; import 'package:SEFER/constant/info.dart'; import 'package:SEFER/controller/firebase/firbase_messge.dart'; import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/main.dart'; import 'package:SEFER/views/widgets/elevated_btn.dart'; +import '../../../../constant/box_name.dart'; import '../../../../constant/style.dart'; import '../../../../controller/functions/launch.dart'; -import '../home_captain/widget/call_page.dart'; +import '../../../../main.dart'; class PassengerInfoWindow extends StatelessWidget { const PassengerInfoWindow({ @@ -58,6 +57,13 @@ class PassengerInfoWindow extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ + IconButton( + onPressed: () { + print(box + .read(BoxName.rideStatus)); + }, + icon: const Icon(Icons.add), + ), GestureDetector( onTap: () async { controller.isSocialPressed = diff --git a/pubspec.lock b/pubspec.lock index bedee8a..15601d5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1632,6 +1632,13 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + secure_string_operations: + dependency: "direct main" + description: + path: secure_string_operations + relative: true + source: path + version: "1.0.0" share: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 88e9f5a..48bee6a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,6 +10,8 @@ environment: dependencies: flutter: sdk: flutter + secure_string_operations: + path: ./secure_string_operations cupertino_icons: ^1.0.2 firebase_messaging: ^14.6.7 firebase_core: ^2.15.0 diff --git a/secure_string_operations/lib/secure_string_operations.dart b/secure_string_operations/lib/secure_string_operations.dart new file mode 100644 index 0000000..d428ac3 --- /dev/null +++ b/secure_string_operations/lib/secure_string_operations.dart @@ -0,0 +1,47 @@ +// File: lib/secure_string_operations.dart + +library secure_string_operations; + +class X { + static String c(String a, Map b) { + StringBuffer c = StringBuffer(); + c.write(a); + + String d = "Bl"; + c.write(b[d] ?? d); + + StringBuffer e = StringBuffer(); + String f = c.toString(); + + for (int g = 0; g < f.length; g++) { + String h = f[g]; + e.write(b[h] ?? h); + } + + return e.toString(); + } + + static String r(String a, Map b) { + StringBuffer c = StringBuffer(); + String d = "Bl"; + int e = d.length; + + for (int f = 0; f < a.length; f++) { + String g = a[f]; + String h = b.keys.firstWhere( + (i) => b[i] == g, + orElse: () => g, + ); + + c.write(h); + } + + String j = c.toString(); + + if (j.endsWith(d)) { + j = j.substring(0, j.length - e); + } + + return j; + } +} diff --git a/secure_string_operations/pubspec.lock b/secure_string_operations/pubspec.lock new file mode 100644 index 0000000..fce7ef1 --- /dev/null +++ b/secure_string_operations/pubspec.lock @@ -0,0 +1,5 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: {} +sdks: + dart: ">=2.12.0 <4.0.0" diff --git a/secure_string_operations/pubspec.yaml b/secure_string_operations/pubspec.yaml new file mode 100644 index 0000000..b910400 --- /dev/null +++ b/secure_string_operations/pubspec.yaml @@ -0,0 +1,6 @@ +name: secure_string_operations +description: A package for secure string operations +version: 1.0.0 + +environment: + sdk: ">=2.12.0 <3.0.0"