25-6-13/1

This commit is contained in:
Hamza-Ayed
2025-06-13 01:56:06 +03:00
parent ce3ae01a75
commit 5eba032887
31 changed files with 945 additions and 862 deletions

View File

@@ -44,11 +44,17 @@ final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
@pragma('vm:entry-point')
Future<void> backgroundMessageHandler(RemoteMessage message) async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
if (!await FlutterOverlayWindow.isPermissionGranted()) {
// بإمكانك تجاهل الطلب في الخلفية والاكتفاء بالتنبيه
Log.print("Overlay permission not granted; showing only notification.");
}
if (Platform.isAndroid) {
if (message.notification != null && message.notification!.title != null) {
if (message.notification?.title == 'Order'.tr ||
Log.print('message.notification!.title: ${message.notification!.title}');
if (message.notification?.title == 'طلب' ||
message.notification?.title == 'OrderSpeed') {
var myListString = message.data['DriverList'] ?? '[]';
Log.print('myListString: $myListString');
@@ -57,6 +63,7 @@ Future<void> backgroundMessageHandler(RemoteMessage message) async {
List<dynamic> myList;
try {
myList = jsonDecode(myListString) as List<dynamic>;
Log.print('myList: ${myList}');
} catch (e) {
Log.print('Error decoding JSON: $e');
myList = [];
@@ -74,9 +81,9 @@ Future<void> backgroundMessageHandler(RemoteMessage message) async {
flag: OverlayFlag.focusPointer,
// visibility: NotificationVisibility.visibilityPublic,
positionGravity: PositionGravity.auto,
height: 700,
height: 1300,
width: WindowSize.matchParent,
startPosition: const OverlayPosition(0, -150),
startPosition: const OverlayPosition(0, -40),
);
NotificationController().showNotification(
message.notification!.title.toString(),
@@ -175,10 +182,10 @@ class _MyAppState extends State<MyApp> {
FirebaseMessagesController().getToken(),
]);
PermissionStatus status1 = await Permission.location.status;
if (status1.isGranted) {
await LocationController().startLocationUpdates();
}
// PermissionStatus status1 = await Permission.location.status;
// if (status1.isGranted) {
// await LocationController().startLocationUpdates();
// }
}
String? key = (await storage.read(key: BoxName.payMobApikey));