25-6-23/2

This commit is contained in:
Hamza-Ayed
2025-06-23 15:53:05 +03:00
parent 5050aab9b7
commit 6e45e45ef2
5 changed files with 17 additions and 40 deletions

View File

@@ -1,14 +1,12 @@
import 'package:sefer_driver/constant/box_name.dart';
import 'package:sefer_driver/controller/firebase/local_notification.dart';
import 'package:sefer_driver/main.dart';
import 'package:sefer_driver/print.dart';
import 'package:sefer_driver/views/home/Captin/driver_map_page.dart';
import 'package:sefer_driver/views/home/Captin/orderCaptin/vip_order_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_font_icons/flutter_font_icons.dart';
import 'package:get/get.dart';
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
import 'package:sefer_driver/views/widgets/mydialoug.dart';
import '../../../../../constant/colors.dart';
@@ -47,7 +45,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
Get.back();
},
);
// Log.print(
// 'box.read(BoxName.rideArgumentsFromBackground): ${box.read(BoxName.rideArgumentsFromBackground)}');
},
icon: Icon(
@@ -151,7 +148,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
// child: Builder(builder: (context) {
// return IconButton(
// onPressed: () async {
// Log.print('phoneDriver: ${box.read(BoxName.phoneDriver)}');
// },
// icon: const Icon(
// FontAwesome5.grin_tears,
@@ -171,8 +167,6 @@ GetBuilder<HomeCaptainController> leftMainMenuCaptainIcons() {
);
}
void _log(String message) => print(message);
Future<void> checkForPendingOrderFromServer() async {
bool _isProcessingOrder = false;
if (_isProcessingOrder) return;
@@ -191,20 +185,14 @@ Future<void> checkForPendingOrderFromServer() async {
// Assuming the server returns order data if found, or 'failure'/'none' if not
if (response != 'failure') {
Log.print('response: ${response}');
_log("MAIN_APP_LOG: Pending order DETECTED from server!");
final Map<String, dynamic> orderInfoFromServer = response['message'];
final Map<String, dynamic> rideArguments =
_transformServerDataToAppArguments(orderInfoFromServer);
// 2. Build the new arguments map, matching your Flutter structure
_log("MAIN_APP_LOG: Constructed rideArguments map successfully.");
/////////////
final customerToken = (response)['message']['token_passenger'];
final orderId = (response)['message']['ride_id'].toString();
Log.print('orderId: ${orderId}');
box.write(BoxName.rideArgumentsFromBackground, rideArguments);
box.write(BoxName.statusDriverLocation, 'on');
box.write(BoxName.rideStatus, 'Apply');
@@ -215,11 +203,9 @@ Future<void> checkForPendingOrderFromServer() async {
_sendAcceptanceNotification(customerToken, orderId.toString());
// await _bringAppToForegroundAndNavigate(orderId);
} else {
_log("MAIN_APP_LOG: No pending orders found on server.");
box.write(BoxName.rideArgumentsFromBackground, 'failure');
}
} catch (e) {
_log("Error while polling server: $e");
} finally {
_isProcessingOrder = false; // Release lock
}
@@ -227,8 +213,6 @@ Future<void> checkForPendingOrderFromServer() async {
Map<String, dynamic> _transformServerDataToAppArguments(
Map<String, dynamic> serverData) {
_log("Transforming server data to match app's argument structure.");
// Helper function to safely get and convert values to String
String _getString(String key, [String defaultValue = 'unknown']) {
// serverData[key] might be an int, double, or string. .toString() handles all.
@@ -288,7 +272,6 @@ void _sendAcceptanceNotification(String? customerToken, rideId) {
if (customerToken == null) return;
final FirebaseMessagesController _firebaseMessagesController =
Get.put(FirebaseMessagesController());
_log("Attempting to send acceptance notification to passenger...");
List<String> bodyToPassenger = [
box.read(BoxName.driverID).toString(),
box.read(BoxName.nameDriver).toString(),
@@ -301,11 +284,6 @@ void _sendAcceptanceNotification(String? customerToken, rideId) {
if (token != null && token.isNotEmpty) {
_firebaseMessagesController.sendNotificationToDriverMAP('Accepted Ride',
'your ride is applied'.tr, token, bodyToPassenger, 'start.wav');
_log("Acceptance notification task was fired.");
} else {
_log("Could not send notification: Customer token is missing or empty.");
}
} catch (e) {
_log("Error while firing notification task: $e");
}
} else {}
} catch (e) {}
}