25-2/24/1

This commit is contained in:
Hamza-Ayed
2025-02-24 23:38:42 +03:00
parent 218e174c87
commit 3162b1bec6
56 changed files with 1318 additions and 527 deletions

View File

@@ -543,12 +543,12 @@ class MapPassengerController extends GetxController {
void sendSMS(String to) async {
// Get the driver's phone number.
String driverPhone = encryptionHelper.decryptData(
String driverPhone = EncryptionHelper.instance.decryptData(
dataCarsLocationByPassenger['message'][carsOrder]['phone'].toString());
// Format the message.
String message =
'Hi! This is ${encryptionHelper.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n I am using ${box.read(AppInformation.appName)} to ride with $passengerName as the driver. $passengerName \nis driving a $model\n with license plate $licensePlate.\n I am currently located at $passengerLocation.\n If you need to reach me, please contact the driver directly at\n\n $driverPhone.';
'Hi! This is ${EncryptionHelper.instance.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n I am using ${box.read(AppInformation.appName)} to ride with $passengerName as the driver. $passengerName \nis driving a $model\n with license plate $licensePlate.\n I am currently located at $passengerLocation.\n If you need to reach me, please contact the driver directly at\n\n $driverPhone.';
// Launch the URL to send the SMS.
launchCommunication('sms', to, message);
@@ -560,7 +560,7 @@ class MapPassengerController extends GetxController {
// Format the message.
String message =
'${'${'Hi! This is'.tr} ${encryptionHelper.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n${' I am using'.tr}'} ${AppInformation.appName}${' to ride with'.tr} $passengerName${' as the driver.'.tr} $passengerName \n${'is driving a '.tr}$model\n${' with license plate '.tr}$licensePlate.\n${' I am currently located at '.tr} https://www.google.com/maps/place/${passengerLocation.latitude},${passengerLocation.longitude}.\n${' If you need to reach me, please contact the driver directly at'.tr}\n\n $driverPhone.';
'${'${'Hi! This is'.tr} ${EncryptionHelper.instance.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n${' I am using'.tr}'} ${AppInformation.appName}${' to ride with'.tr} $passengerName${' as the driver.'.tr} $passengerName \n${'is driving a '.tr}$model\n${' with license plate '.tr}$licensePlate.\n${' I am currently located at '.tr} https://www.google.com/maps/place/${passengerLocation.latitude},${passengerLocation.longitude}.\n${' If you need to reach me, please contact the driver directly at'.tr}\n\n $driverPhone.';
// Launch the URL to send the WhatsApp message.
launchCommunication('whatsapp', to, message);
@@ -942,7 +942,7 @@ class MapPassengerController extends GetxController {
box.write(BoxName.passengerWalletTotal, '0');
update();
if (box.read(BoxName.parentTripSelected) == true) {
FirebaseMessagesController().sendNotificationToPassengerToken(
Get.find<FirebaseMessagesController>().sendNotificationToPassengerToken(
"Finish Monitor".tr,
"Finish Monitor".tr,
box.read(BoxName.tokenParent),
@@ -1530,7 +1530,7 @@ class MapPassengerController extends GetxController {
// passengerRate.toStringAsFixed(2),
// ];
// Log.print('body: ${body}');
// FirebaseMessagesController().sendNotificationToDriverMAP(
// Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
// 'OrderSpeed',
// rideId,
// driverData['token'].toString(),
@@ -1673,7 +1673,7 @@ class MapPassengerController extends GetxController {
// ];
// // Log.print('body: ${body}');
// FirebaseMessagesController().sendNotificationToDriverMAP(
// Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
// 'OrderSpeed',
// rideId.toString(),
// dataCarsLocationByPassenger['message'][i]['token'].toString(),
@@ -1956,10 +1956,11 @@ class MapPassengerController extends GetxController {
Future.delayed(const Duration(microseconds: 10));
final body = constructNotificationBody(driverData);
// Log.print('body:ww ${body}');
FirebaseMessagesController().sendNotificationToDriverMAP(
Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
'Order'.tr,
endNameAddress,
encryptionHelper.decryptData(driverData['token'].toString()),
EncryptionHelper.instance
.decryptData(driverData['token'].toString()),
body,
'order.wav');
}
@@ -1980,15 +1981,16 @@ class MapPassengerController extends GetxController {
distance.toStringAsFixed(2),
driverData['driver_id'].toString(),
box.read(BoxName.passengerID).toString(),
encryptionHelper
EncryptionHelper.instance
.decryptData(box.read(BoxName.name).toString().split(' ')[0])
.toString(),
encryptionHelper.decryptData(box.read(BoxName.tokenFCM).toString()),
encryptionHelper.decryptData(box.read(BoxName.phone).toString()),
EncryptionHelper.instance
.decryptData(box.read(BoxName.tokenFCM).toString()),
EncryptionHelper.instance.decryptData(box.read(BoxName.phone).toString()),
durationToPassenger.toStringAsFixed(0) ?? '120',
distanceByPassenger.toString() ?? '2000',
paymentController.isWalletChecked.toString(),
encryptionHelper.decryptData(driverData['token'].toString()),
EncryptionHelper.instance.decryptData(driverData['token'].toString()),
durationToPassenger.toString(),
rideId.toString(),
rideTimerBegin.toString(),
@@ -2186,26 +2188,28 @@ class MapPassengerController extends GetxController {
var response = jsonDecode(res);
Log.print('getUpdatedRideForDriverApply: $response');
driverId = response['data']['driver_id'];
driverPhone = encryptionHelper.decryptData(response['data']['phone']);
driverPhone =
EncryptionHelper.instance.decryptData(response['data']['phone']);
driverCarMake = response['data']['make'];
model = response['data']['model'];
colorHex = response['data']['color_hex'];
carColor = response['data']['color'];
make = response['data']['make'];
licensePlate =
encryptionHelper.decryptData(response['data']['car_plate']);
passengerName =
encryptionHelper.decryptData(response['data']['passengerName']);
driverName = encryptionHelper
EncryptionHelper.instance.decryptData(response['data']['car_plate']);
passengerName = EncryptionHelper.instance
.decryptData(response['data']['passengerName']);
driverName = EncryptionHelper.instance
.decryptData(response['data']['driverName'].toString());
driverToken = encryptionHelper.decryptData(response['data']['token']);
driverToken =
EncryptionHelper.instance.decryptData(response['data']['token']);
// Log.print('driverToken updated: $driverToken');
carYear = response['data']['year'];
driverRate = response['data']['ratingDriver'].toString();
}
// driversToken.remove(driverToken);
// for (var i = 1; i < driversToken.length; i++) {
FirebaseMessagesController().sendNotificationToDriverMAP(
Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
'Order Accepted'.tr,
'$driverName${'Accepted your order'.tr}',
driverToken.toString(),
@@ -2452,9 +2456,9 @@ class MapPassengerController extends GetxController {
longitude >= minLongitude &&
longitude <= maxLongitude) {
box.write(BoxName.serverChosen,
encryptionHelper.decryptData(locationData['server_link']));
EncryptionHelper.instance.decryptData(locationData['server_link']));
// Log.print(
// 'locationData----server_link: ${encryptionHelper.decryptData(locationData['server_link'])}');
// 'locationData----server_link: ${EncryptionHelper.instance.decryptData(locationData['server_link'])}');
return locationData['name'];
}
}
@@ -2609,7 +2613,7 @@ class MapPassengerController extends GetxController {
_getIconForCar(json),
);
driversToken.add(encryptionHelper.decryptData(json['token']));
driversToken.add(EncryptionHelper.instance.decryptData(json['token']));
}
// Add fake car markers
@@ -2921,10 +2925,11 @@ class MapPassengerController extends GetxController {
Get.back();
}));
} else if (res1['status'] == 'success') {
var tokenParent = encryptionHelper.decryptData(res1['data'][0]['token']);
var tokenParent =
EncryptionHelper.instance.decryptData(res1['data'][0]['token']);
Get.snackbar("The invitation was sent successfully".tr, '',
backgroundColor: AppColor.greenColor);
FirebaseMessagesController().sendNotificationToPassengerToken(
Get.find<FirebaseMessagesController>().sendNotificationToPassengerToken(
"Trip Monitoring".tr,
"Trip Monitoring".tr,
tokenParent,
@@ -3161,7 +3166,7 @@ class MapPassengerController extends GetxController {
changeCancelRidePageShow();
if (rideId != 'yet') {
Log.print('cancelRide: 1');
await FirebaseMessagesController().sendNotificationToDriverMAP(
await Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
'Cancel Trip'.tr,
'Trip Cancelled'.tr,
driverToken.toString(),
@@ -5163,34 +5168,38 @@ class MapPassengerController extends GetxController {
timeSelected);
// Optionally, set up local notification or send a push notification
await FirebaseMessagesController().sendNotificationToDriverMAP(
'OrderVIP',
rideId.toString(),
encryptionHelper.decryptData(driver['token'].toString()),
[
id,
rideId,
driver['id'],
passengerLocation.latitude.toString(),
startNameAddress.toString(),
passengerLocation.longitude.toString(),
encryptionHelper
.decryptData(box.read(BoxName.name).toString().split(' ')[0])
.toString(),
box.read(BoxName.passengerID).toString(),
box.read(BoxName.phone).toString(),
box.read(BoxName.email).toString(),
box.read(BoxName.passengerPhotoUrl).toString(),
box.read(BoxName.tokenFCM).toString(),
encryptionHelper.decryptData(driver['token'].toString()),
],
'order.wav');
await Get.find<FirebaseMessagesController>()
.sendNotificationToDriverMAP(
'OrderVIP',
rideId.toString(),
EncryptionHelper.instance
.decryptData(driver['token'].toString()),
[
id,
rideId,
driver['id'],
passengerLocation.latitude.toString(),
startNameAddress.toString(),
passengerLocation.longitude.toString(),
EncryptionHelper.instance
.decryptData(
box.read(BoxName.name).toString().split(' ')[0])
.toString(),
box.read(BoxName.passengerID).toString(),
box.read(BoxName.phone).toString(),
box.read(BoxName.email).toString(),
box.read(BoxName.passengerPhotoUrl).toString(),
box.read(BoxName.tokenFCM).toString(),
EncryptionHelper.instance
.decryptData(driver['token'].toString()),
],
'order.wav');
if (response['message'] == "Trip updated successfully") {
mySnackbarSuccess("Trip updated successfully".tr);
Log.print(
'previous_driver_token: ${response['previous_driver_token']}');
FirebaseMessagesController().sendNotificationToDriverMAP(
Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
'Order VIP Canceld'.tr,
'Passenger cancel order'.tr,
response['previous_driver_token'].toString(),
@@ -5214,7 +5223,7 @@ class MapPassengerController extends GetxController {
}
cancelVip(String token, tripId) async {
// FirebaseMessagesController().sendNotificationToDriverMAP(
// Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
// 'Order VIP Canceld'.tr,
// 'Passenger cancel order'.tr,
// token,
@@ -5230,7 +5239,7 @@ class MapPassengerController extends GetxController {
}
sendToDriverAgain(String token) {
FirebaseMessagesController().sendNotificationToDriverMAP(
Get.find<FirebaseMessagesController>().sendNotificationToDriverMAP(
'Order VIP Canceld'.tr,
'Passenger cancel order'.tr,
token,
@@ -5377,6 +5386,7 @@ class MapPassengerController extends GetxController {
reloadStartApp = false;
startMarkerReloading();
Get.put(TextToSpeechController());
Get.put(FirebaseMessagesController());
box.write(BoxName.carType, 'yet');
box.write(BoxName.tipPercentage, '0');
Get.put(AudioRecorderController());

View File

@@ -179,9 +179,9 @@ Download the Tripz app now and enjoy your ride!
int.parse(driverInvitationDataToPassengers[index]['countOfInvitDriver']
.toString()) <
2
? '${'When'.tr} ${encryptionHelper.decryptData(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${"complete, you can claim your gift".tr} '
? '${'When'.tr} ${EncryptionHelper.instance.decryptData(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${"complete, you can claim your gift".tr} '
: 'You deserve the gift'.tr,
'${encryptionHelper.decryptData(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${driverInvitationDataToPassengers[index]['countOfInvitDriver'].toString()} / 2 ${'Trip'.tr}',
'${EncryptionHelper.instance.decryptData(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${driverInvitationDataToPassengers[index]['countOfInvitDriver'].toString()} / 2 ${'Trip'.tr}',
() async {
if (int.parse(driverInvitationDataToPassengers[index]
['countOfInvitDriver']
@@ -270,7 +270,8 @@ Download the Tripz app now and enjoy your ride!
var response =
await CRUD().post(link: AppLink.addInvitationPassenger, payload: {
"driverId": box.read(BoxName.passengerID),
"inviterPassengerPhone": encryptionHelper.encryptData('+2$phoneNumber')
"inviterPassengerPhone":
EncryptionHelper.instance.encryptData('+2$phoneNumber')
});
if (response != 'failure') {

View File

@@ -1,7 +1,9 @@
import 'dart:async';
import 'package:Tripz/constant/style.dart';
import 'package:Tripz/controller/functions/secure_storage.dart';
import 'package:Tripz/views/widgets/my_scafold.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:Tripz/views/auth/login_page.dart';
import 'package:package_info_plus/package_info_plus.dart';
@@ -28,9 +30,19 @@ class SplashScreenController extends GetxController
update();
}
String iss = '';
@override
void onInit() {
Future<void> onInit() async {
super.onInit();
// storage.read(key: 'iss').then((s) {
// // print(s);
// iss = s!;
// });
// if (iss == null) {
SecureStorage().saveData('iss', 'mobile-app:');
// }
_getPackageInfo();
_animationController = AnimationController(
vsync: this,
@@ -56,6 +68,12 @@ class SplashScreenController extends GetxController
if (elapsed >= totalTime) {
timer.cancel();
// await SecurityHelper.performSecurityChecks();
// if (box.read('isNotTrust') ||
// box.read('isJailBroken') ||
// box.read('isTampered')) {
// Get.to(() => SecurityPage());
// } else {
box.read(BoxName.onBoarding) == null
? Get.off(() => OnBoardingPage())
: box.read(BoxName.email) != null &&
@@ -68,6 +86,7 @@ class SplashScreenController extends GetxController
)
: Get.off(() => LoginPage());
}
// }
});
}
@@ -94,3 +113,39 @@ class SplashScreenController extends GetxController
super.onClose();
}
}
class SecurityPage extends StatelessWidget {
const SecurityPage({
super.key,
});
@override
Widget build(BuildContext context) {
return MyScafolld(
title: "security_warning".tr,
body: [
Center(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
children: [
Text(
"security_message".tr,
style: AppStyle.headTitle2,
),
TextButton(
onPressed: () async {
// await SecurityHelper.clearAllData();
},
child: Text(
"security_warning".tr,
),
),
],
),
),
)
],
isleading: false);
}
}

View File

@@ -287,7 +287,7 @@ class VipWaittingPage extends StatelessWidget {
? MyElevatedButton(
title: "Click here to begin your trip\n\nGood luck, "
.tr +
encryptionHelper
EncryptionHelper.instance
.decryptData(box
.read(BoxName.name)
.toString()