This commit is contained in:
Hamza-Ayed
2024-02-14 22:31:28 +03:00
parent bbd4ce792e
commit ea7a5bb931
28 changed files with 941 additions and 605 deletions

View File

@@ -23,6 +23,7 @@ import '../../views/home/Captin/orderCaptin/order_request_page.dart';
import '../home/map_passenger_controller.dart';
import '../home/payment/captain_wallet_controller.dart';
import '../payment/payment_controller.dart';
import 'local_notification.dart';
class FirebaseMessagesController extends GetxController {
final fcmToken = FirebaseMessaging.instance;
@@ -128,6 +129,9 @@ class FirebaseMessagesController extends GetxController {
void fireBaseTitles(RemoteMessage message) {
if (message.notification!.title! == 'Order') {
if (Platform.isAndroid) {
NotificationController().showNotification('Order', '', 'order');
}
var myListString = message.data['DriverList'];
// print(myListString);
// print('9999999999999myListString999999999999999');
@@ -146,33 +150,57 @@ class FirebaseMessagesController extends GetxController {
// print('9999999999999my Apply Ride 999999999999999');
var myList = jsonDecode(passengerList) as List<dynamic>;
driverID = myList[2].toString();
driverAppliedTripSnakBar();
NotificationController().showNotification(
'Apply Order', 'Driver Applied the Ride for You'.tr, 'order');
// driverAppliedTripSnakBar();
} else if (message.notification!.title! == 'Promo') {
NotificationController()
.showNotification('Promo', 'Show latest promo'.tr, 'order');
Get.to(const PromosPassengerPage());
} else if (message.notification!.title == 'Cancel Trip') {
NotificationController().showNotification(
'Cancel Trip'.tr, 'Passenger Cancel Trip'.tr, 'order');
cancelTripDialog();
} else if (message.notification!.title! == 'DriverIsGoingToPassenger') {
Get.snackbar('Driver is Going To Passenger', '',
backgroundColor: AppColor.greenColor);
NotificationController().showNotification('Driver is Going To You'.tr,
'Please stay on the picked point.'.tr, 'order');
// Get.snackbar('Driver is Going To Passenger', '',
// backgroundColor: AppColor.greenColor);
} else if (message.notification!.title! == 'RideIsBegin') {
Get.snackbar('RideIsBegin', '', backgroundColor: AppColor.greenColor);
// Get.snackbar('RideIsBegin', '', backgroundColor: AppColor.greenColor);
NotificationController()
.showNotification('Trip is Begin'.tr, ''.tr, 'order');
update();
} else if (message.notification!.title! == 'Hi ,I will go now') {
Get.snackbar('Hi ,I will go now', '',
backgroundColor: AppColor.greenColor);
// Get.snackbar('Hi ,I will go now', '',
// backgroundColor: AppColor.greenColor);
NotificationController().showNotification(
'Passenger come to you'.tr, 'Hi ,I will go now'.tr, 'order');
update();
} else if (message.notification!.title! == 'Hi ,I Arrive your site') {
NotificationController()
.showNotification('Hi ,I Arrive your site'.tr, ''.tr, 'order');
driverArrivePassengerDialoge();
update();
} else if (message.notification!.title! == 'Driver Finish Trip') {
var myListString = message.data['passengerList'];
var driverList = jsonDecode(myListString) as List<dynamic>;
NotificationController().showNotification(
'Driver Finish Trip'.tr,
'you will pay to Driver'.tr +
' ${Get.find<MapPassengerController>().totalPassenger} \$'.tr,
'order');
if (Get.find<PaymentController>().isCashChecked == false &&
Get.find<PaymentController>().isWalletChecked == true) {
driverFinishTripDialoge(driverList);
} else {
} else if (double.parse(box.read(BoxName.passengerWalletTotal)) < 0) {
CRUD().post(link: AppLink.addPassengersWallet, payload: {
'passenger_id': box.read(BoxName.passengerID).toString(),
'balance':
((-1) * double.parse(box.read(BoxName.passengerWalletTotal)))
.toString()
});
Get.to(() => RateDriverFromPassenger(), arguments: {
'driverId': driverList[0].toString(),
'rideId': driverList[1].toString(),
@@ -184,6 +212,11 @@ class FirebaseMessagesController extends GetxController {
// .tr,
// 'message',
// backgroundColor: AppColor.redColor);
NotificationController().showNotification(
'Driver Cancel Your Trip'.tr,
'you will pay to Driver you will be pay the cost of driver time look to your SEFER Wallet'
.tr,
'order');
Get.find<MapPassengerController>().restCounter();
Get.offAll(const MapPagePassenger());
}
@@ -213,6 +246,7 @@ class FirebaseMessagesController extends GetxController {
Future<dynamic> cancelTripDialog() {
return Get.defaultDialog(
barrierDismissible: false,
title: 'Passenger Cancel Trip'.tr,
middleText: '',
confirm: MyElevatedButton(

View File

@@ -0,0 +1,29 @@
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:get/get.dart';
class NotificationController extends GetxController {
final FlutterLocalNotificationsPlugin _flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
// Initializes the local notifications plugin
Future<void> initNotifications() async {
const AndroidInitializationSettings android =
AndroidInitializationSettings('@mipmap/launcher_icon');
const InitializationSettings initializationSettings =
InitializationSettings(android: android);
await _flutterLocalNotificationsPlugin.initialize(initializationSettings);
}
// Displays a notification with the given title and message
void showNotification(String title, String message, String tone) async {
AndroidNotificationDetails android = AndroidNotificationDetails(
'your channel id', 'your channel name',
importance: Importance.max,
priority: Priority.high,
showWhen: false,
sound: RawResourceAndroidNotificationSound(tone));
NotificationDetails details = NotificationDetails(android: android);
await _flutterLocalNotificationsPlugin.show(0, title, message, details);
}
}