7/1/5
@@ -55,8 +55,8 @@ android {
|
||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 33
|
||||
versionCode 45
|
||||
versionName '1.5.45'
|
||||
versionCode 46
|
||||
versionName '1.5.46'
|
||||
// manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml']
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 713 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 54 KiB |
@@ -21,7 +21,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>43</string>
|
||||
<string>44</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
@@ -36,7 +36,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>4.0.43</string>
|
||||
<string>4.0.44</string>
|
||||
<key>FirebaseAppDelegateProxyEnabled</key>
|
||||
<string>NO</string>
|
||||
<key>GMSApiKey</key>
|
||||
|
||||
@@ -110,12 +110,13 @@ class FirebaseMessagesController extends GetxController {
|
||||
'body': message.notification!.body
|
||||
});
|
||||
} else if (message.notification!.title == 'Cancel Trip'.tr) {
|
||||
NotificationController().showNotification(
|
||||
'Cancel Trip'.tr, 'Passenger Cancel Trip'.tr, 'cancel');
|
||||
// NotificationController().showNotification(
|
||||
// 'Cancel Trip'.tr, 'Passenger Cancel Trip'.tr, 'cancel');
|
||||
cancelTripDialog();
|
||||
} else if (message.notification!.title! == 'token change'.tr) {
|
||||
NotificationController()
|
||||
.showNotification('token change'.tr, 'token change', 'cancel');
|
||||
// NotificationController()
|
||||
// .showNotification('token change'.tr, 'token change', 'cancel');
|
||||
// GoogleSignInHelper.signOut();
|
||||
GoogleSignInHelper.signOut();
|
||||
} else if (message.notification!.title! == 'message From passenger'.tr) {
|
||||
NotificationController()
|
||||
|
||||
@@ -50,7 +50,7 @@ class LocationController extends GetxController {
|
||||
totalPoints = Get.find<CaptainWalletController>().totalPoints;
|
||||
isActive = Get.find<HomeCaptainController>().isActive;
|
||||
if (isActive) {
|
||||
if (double.parse(totalPoints) > -300) {
|
||||
if (double.parse(totalPoints) > -3000) {
|
||||
await getLocation();
|
||||
|
||||
// if (box.read(BoxName.driverID) != null) {
|
||||
|
||||
@@ -75,7 +75,7 @@ class HomeCaptainController extends GetxController {
|
||||
|
||||
isActive = !isActive;
|
||||
if (isActive) {
|
||||
if (double.parse(totalPoints) > -300) {
|
||||
if (double.parse(totalPoints) > -3000) {
|
||||
locationController.startLocationUpdates();
|
||||
// locationBackController.startBackLocation();
|
||||
activeStartTime = DateTime.now();
|
||||
@@ -123,7 +123,7 @@ class HomeCaptainController extends GetxController {
|
||||
await sql.getCustomQuery(customQuery);
|
||||
countRefuse = results[0]['count'].toString();
|
||||
update();
|
||||
if (int.parse(countRefuse) > 3 || double.parse(totalPoints) <= -300) {
|
||||
if (int.parse(countRefuse) > 3 || double.parse(totalPoints) <= -3000) {
|
||||
locationController.stopLocationUpdates();
|
||||
activeStartTime = null;
|
||||
activeTimer?.cancel();
|
||||
|
||||
@@ -525,8 +525,7 @@ class MapDriverController extends GetxController {
|
||||
}
|
||||
|
||||
double pointsSubtraction = 0;
|
||||
pointsSubtraction =
|
||||
double.parse(paymentAmount) * (-1) * double.parse(kazan);
|
||||
pointsSubtraction = double.parse(paymentAmount) * (-1);
|
||||
var paymentToken2 =
|
||||
await generateTokenDriver((pointsSubtraction).toStringAsFixed(0));
|
||||
var res = await CRUD().post(link: AppLink.addDriversWalletPoints, payload: {
|
||||
@@ -554,7 +553,7 @@ class MapDriverController extends GetxController {
|
||||
Get.to(() => RatePassenger(), arguments: {
|
||||
'passengerId': passengerId,
|
||||
'rideId': rideId,
|
||||
'price': price.toString(),
|
||||
'price': paymentAmount.toString(), //price
|
||||
'walletChecked': walletChecked
|
||||
});
|
||||
// Get.back();
|
||||
|
||||
@@ -58,6 +58,7 @@ class OrderRequestController extends GetxController {
|
||||
List<Map<String, dynamic>> results =
|
||||
await sql.getCustomQuery(customQuery);
|
||||
countRefuse = results[0]['count'].toString();
|
||||
print(countRefuse);
|
||||
update();
|
||||
if (int.parse(countRefuse) > 3) {
|
||||
box.write(BoxName.statusDriverLocation, 'on');
|
||||
|
||||
@@ -4,6 +4,61 @@ class MyTranslation extends Translations {
|
||||
@override
|
||||
Map<String, Map<String, String>> get keys => {
|
||||
"ar": {
|
||||
"You must be recharge your Account":
|
||||
"رصيد حسابك غير كافٍ. يرجى إعادة الشحن للمتابعة",
|
||||
"Commercial International Bank (CIB)": "البنك التجاري الدولي (CIB)",
|
||||
"National Bank of Egypt": "البنك الأهلي المصري",
|
||||
"Qatar National Bank (QNB Alahli)": "بنك قطر الوطني (QNB الأهلي)",
|
||||
"Banque Misr": "بنك مصر",
|
||||
"AlexBank": "بنك الإسكندرية",
|
||||
"Banque du Caire (BDC)": "بنك القاهرة",
|
||||
"HSBC Bank Egypt": "بنك HSBC مصر",
|
||||
"Faisal Islamic Bank of Egypt (FAIB)": "بنك فيصل الإسلامي المصري",
|
||||
"Arab African International Bank (AAIB)":
|
||||
"البنك العربي الأفريقي الدولي",
|
||||
"Export Development Bank of Egypt (EDBE)":
|
||||
"بنك تنمية الصادرات المصري",
|
||||
"Industrial Development Bank of Egypt (IDB)":
|
||||
"بنك التنمية الصناعية المصري",
|
||||
"Suez Canal Bank (SCB)": "بنك قناة السويس",
|
||||
"Bank Audi Egypt": "بنك عوده مصر",
|
||||
"Union National Bank Egypt": "بنك الاتحاد الوطني مصر",
|
||||
"Al Baraka Bank Egypt": "بنك البركة مصر",
|
||||
"Blom Bank (BBE)": "بنك بلوم مصر",
|
||||
"Crédit Agricole Egypt (CAE)": "بنك كريدي أجريكول مصر",
|
||||
"Egyptian Gulf Bank (EG Bank)": "بنك الخليج المصري",
|
||||
"Housing and Development Bank (HDB)": "بنك التعمير والإسكان",
|
||||
"The United Bank of Egypt (UB)": "البنك المتحد مصر",
|
||||
"Arab Bank Plc. (ARAB)": "البنك العربي ش.م.ع.",
|
||||
"Emirates NBD (ENBD)": "بنك الإمارات دبي الوطني",
|
||||
"Al Ahli Bank of Kuwait - Egypt (ABK-Egypt)":
|
||||
"البنك الأهلي الكويتي - مصر",
|
||||
"National Bank of Kuwait - Egypt (NBK-Egypt)":
|
||||
"بنك الكويت الوطني - مصر",
|
||||
"Arab Banking Corporation (Bank ABC)":
|
||||
"مؤسسة التمويل العربي (بنك ABC)",
|
||||
"First Abu Dhabi Bank (FAB)": "بنك أبوظبي الأول",
|
||||
"Abu Dhabi Islamic Bank (ADIB)": "بنك أبوظبي الإسلامي",
|
||||
"Egyptian Arab Land Bank (EALB)": "بنك التعمير العربي المصري",
|
||||
"Abu Dhabi Commercial Bank - Egypt (ADCB)":
|
||||
"بنك أبوظبي التجاري - مصر",
|
||||
"Bank of Alexandria (BOA)": "بنك الإسكندرية",
|
||||
"Société Arabe Internationale de Banque (SAIB)":
|
||||
"البنك العربي الدولي للتجارة (SAIB)",
|
||||
"Attijariwafa Bank Egypt (ABRK)": "بنك التجاري وفا مصر",
|
||||
"Principal Bank for Development and Agricultural Credit (POST)":
|
||||
"البنك الرئيسي للتنمية والائتمان الزراعي",
|
||||
"Nasser Social Bank (NSB)": "بنك ناصر الاجتماعي",
|
||||
"Mashreq Bank (MASH)": "بنك المشرق",
|
||||
"Arab International Bank (AIB)": "البنك العربي الدولي",
|
||||
"General Authority for Suez Canal Economic Zone (GASC)":
|
||||
"الهيئة العامة للمنطقة الاقتصادية لقناة السويس",
|
||||
"Arab Investment Bank (AIBK)": "بنك الاستثمار العربي (AIBK)",
|
||||
"Piraeus Bank (PDAC)": "بنك بيريوس",
|
||||
"National Bank of Greece (ceased operations in Egypt)":
|
||||
"البنك الوطني اليوناني (توقف عن العمل في مصر)",
|
||||
"Central Bank of Egypt (CBE)": "البنك المركزي المصري",
|
||||
"Barclays Egypt (BBE)": "بنك باركليز مصر",
|
||||
"Morning Promo": "عرض الصباح",
|
||||
"this is count of your all trips in the morning promo today from 7:00am-10:00am":
|
||||
"هذا عدد جميع رحلاتك في عرض الصباح اليوم من الساعة 7:00 صباحًا حتى 10:00 صباحًا",
|
||||
@@ -60,7 +115,7 @@ class MyTranslation extends Translations {
|
||||
"Do you want to collect your earnings?":
|
||||
"هل تريد استلام أموالك؟", // Corrected grammar
|
||||
"Total wallet is ": "إجمالي المحفظة هو ",
|
||||
"Remainder": "المتبقي",
|
||||
"Remainder": "الباقي",
|
||||
"Call Page": "صفحة المكالمة",
|
||||
"Call End": "إنهاء المكالمة",
|
||||
"Call Left": "مكالمات متبقية",
|
||||
@@ -635,7 +690,7 @@ class MyTranslation extends Translations {
|
||||
"Best choice for comfort car and flexible route and stops point":
|
||||
"أفضل خيار للسيارة المريحة والطريق المرن ونقطة التوقف",
|
||||
"Insert": "إدراج",
|
||||
' Total weekly points is ': " مجموع النقاط الأسبوعية هو ",
|
||||
' Total weekly is ': " مجموع التحصيل الأسبوعي ",
|
||||
'you can buy ': 'يمكنك شراء',
|
||||
"Which method you will pay": 'أي طريقة الدفع تفضل',
|
||||
"This is for delivery or a motorcycle.":
|
||||
|
||||
@@ -72,7 +72,10 @@ class RateController extends GetxController {
|
||||
});
|
||||
} else {
|
||||
double pointsSubtraction = 0;
|
||||
pointsSubtraction = remainingFee * (-1); // for egypt /100
|
||||
pointsSubtraction = remainingFee *
|
||||
(-1) *
|
||||
double.parse(
|
||||
Get.find<MapDriverController>().kazan); // for egypt /100
|
||||
var paymentToken4 = await Get.find<MapDriverController>()
|
||||
.generateTokenDriver((pointsSubtraction).toStringAsFixed(0));
|
||||
var res = await CRUD()
|
||||
|
||||
@@ -27,14 +27,14 @@ class ConnectWidget extends StatelessWidget {
|
||||
builder: (homeCaptainController) => int.parse(
|
||||
orderRequestController.countRefuse) >
|
||||
3 ||
|
||||
double.parse(captainWalletController.totalPoints) < -300
|
||||
double.parse(captainWalletController.totalPoints) < -3000
|
||||
? CupertinoButton(
|
||||
onPressed: () {
|
||||
Get.defaultDialog(
|
||||
// backgroundColor: CupertinoColors.destructiveRed,
|
||||
barrierDismissible: false,
|
||||
title: double.parse(captainWalletController.totalPoints) <
|
||||
-300
|
||||
-3000
|
||||
? 'You dont have Points'.tr
|
||||
: 'You Are Stopped For this Day !'.tr,
|
||||
titleStyle: AppStyle.title,
|
||||
@@ -44,7 +44,7 @@ class ConnectWidget extends StatelessWidget {
|
||||
onPressed: () async {
|
||||
double.parse(
|
||||
captainWalletController.totalPoints) <
|
||||
-300
|
||||
-3000
|
||||
? await Get.find<TextToSpeechController>()
|
||||
.speakText(
|
||||
'You must be recharge your Account'
|
||||
@@ -58,7 +58,7 @@ class ConnectWidget extends StatelessWidget {
|
||||
),
|
||||
Text(
|
||||
double.parse(captainWalletController.totalPoints) <
|
||||
-300
|
||||
-3000
|
||||
? 'You must be recharge your Account'.tr
|
||||
: 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!'
|
||||
.tr,
|
||||
@@ -68,7 +68,7 @@ class ConnectWidget extends StatelessWidget {
|
||||
),
|
||||
confirm:
|
||||
double.parse(captainWalletController.totalPoints) <
|
||||
-300
|
||||
-3000
|
||||
? MyElevatedButton(
|
||||
title: 'Recharge my Account'.tr,
|
||||
onPressed: () {
|
||||
|
||||
@@ -3,12 +3,48 @@ import 'package:get/get.dart';
|
||||
|
||||
class BankController extends GetxController {
|
||||
String selectedBank = '';
|
||||
// Map<String, String> bankNames = {
|
||||
// 'CIB Bank'.tr: 'CIB',
|
||||
// 'National Bank of Egypt'.tr: 'NBE',
|
||||
// 'QNB Al Ahli'.tr: 'QNB',
|
||||
// 'Bank Misr'.tr: 'BM',
|
||||
// // Add other bank full names and short names here
|
||||
// };
|
||||
Map<String, String> bankNames = {
|
||||
'CIB Bank'.tr: 'CIB',
|
||||
'Commercial International Bank (CIB)'.tr: 'CIB',
|
||||
'National Bank of Egypt'.tr: 'NBE',
|
||||
'QNB Al Ahli'.tr: 'QNB',
|
||||
'Bank Misr'.tr: 'BM',
|
||||
// Add other bank full names and short names here
|
||||
'Qatar National Bank (QNB Alahli)'.tr: 'QNB',
|
||||
'Banque Misr'.tr: 'BM',
|
||||
'Banque du Caire (BDC)'.tr: 'BDC',
|
||||
'HSBC Bank Egypt'.tr: 'HSBC',
|
||||
'Faisal Islamic Bank of Egypt (FAIB)'.tr: 'FAIB',
|
||||
'Arab African International Bank (AAIB)'.tr: 'AAIB',
|
||||
'Export Development Bank of Egypt (EDBE)'.tr: 'EDBE',
|
||||
'Industrial Development Bank of Egypt (IDB)'.tr: 'IDB',
|
||||
'Suez Canal Bank (SCB)'.tr: 'SCB',
|
||||
'Bank Audi Egypt'.tr: 'BAE',
|
||||
'Union National Bank Egypt'.tr: 'UNB',
|
||||
'Al Baraka Bank Egypt'.tr: 'ABE',
|
||||
'Egyptian Gulf Bank (EG Bank)'.tr: 'EGB',
|
||||
'Housing and Development Bank (HDB)'.tr: 'HDB',
|
||||
'The United Bank of Egypt (UB)'.tr: 'UB',
|
||||
'Emirates NBD (ENBD)'.tr: 'ENBD',
|
||||
'Al Ahli Bank of Kuwait - Egypt (ABK-Egypt)'.tr: 'ABK',
|
||||
'National Bank of Kuwait - Egypt (NBK-Egypt)'.tr: 'NBK',
|
||||
'First Abu Dhabi Bank (FAB)'.tr: 'FAB',
|
||||
'Abu Dhabi Islamic Bank (ADIB)'.tr: 'ADIB',
|
||||
'Arab African International Bank (AAIB)'.tr: 'AAIB',
|
||||
'Egyptian Arab Land Bank (EALB)'.tr: 'EALB',
|
||||
'Faisal Islamic Bank of Egypt (FAIB)'.tr: 'FAIB',
|
||||
'Blom Bank (BLOM)'.tr: 'BLOM',
|
||||
'Abu Dhabi Commercial Bank - Egypt (ADCB)'.tr: 'ADCB',
|
||||
'Nasser Social Bank (NSB)'.tr: 'NSB',
|
||||
'Industrial Development Bank of Egypt (IDB)'.tr: 'IDB',
|
||||
'Arab International Bank (AIB)'.tr: 'AIB',
|
||||
'Arab Investment Bank (AIBK)'.tr: 'ARIB',
|
||||
'Central Bank of Egypt (CBE)'.tr: 'CBE',
|
||||
'Barclays Egypt (BBE)'.tr: 'BBE',
|
||||
// Add other bank full names and short names here as needed
|
||||
};
|
||||
|
||||
@override
|
||||
|
||||
@@ -398,7 +398,7 @@ class WalletCaptain extends StatelessWidget {
|
||||
child: Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
width: Get.width * .95,
|
||||
width: Get.width * .9,
|
||||
// height: Get.height * .1,
|
||||
// decoration: AppStyle.boxDecoration,
|
||||
child: Stack(
|
||||
@@ -417,7 +417,8 @@ class WalletCaptain extends StatelessWidget {
|
||||
color: AppColor.blueColor,
|
||||
borderRadius:
|
||||
BorderRadius.circular(12),
|
||||
backgroundColor: AppColor.accentColor,
|
||||
backgroundColor: AppColor.accentColor
|
||||
.withOpacity(.5),
|
||||
value: double.parse(
|
||||
captainWalletController
|
||||
.walletDate['message'][0]
|
||||
@@ -457,7 +458,7 @@ class WalletCaptain extends StatelessWidget {
|
||||
child: Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
width: Get.width * .95,
|
||||
width: Get.width * .9,
|
||||
// height: Get.height * .1,
|
||||
// decoration: AppStyle.boxDecoration,
|
||||
child: Stack(
|
||||
@@ -476,7 +477,8 @@ class WalletCaptain extends StatelessWidget {
|
||||
color: AppColor.blueColor,
|
||||
borderRadius:
|
||||
BorderRadius.circular(12),
|
||||
backgroundColor: AppColor.accentColor,
|
||||
backgroundColor: AppColor.accentColor
|
||||
.withOpacity(.5),
|
||||
value: double.parse(
|
||||
captainWalletController
|
||||
.walletDate['message'][0]
|
||||
|
||||
@@ -43,7 +43,7 @@ class WeeklyPaymentPage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
Text(
|
||||
' Total weekly points is '.tr,
|
||||
' Total weekly is '.tr,
|
||||
style: AppStyle.title,
|
||||
),
|
||||
],
|
||||
|
||||