Food: background location + native delivery overlay

This commit is contained in:
Hamza-Ayed
2026-08-04 03:02:04 +03:00
parent d695834d19
commit ca55aaebe8
11 changed files with 772 additions and 31 deletions
@@ -25,6 +25,7 @@ import '../home/navigation/navigation_controller.dart';
import 'background_service.dart';
import 'crud.dart';
import '../transit/transit_driver_controller.dart';
import '../food_delivery/food_location_broadcaster.dart';
/// إعدادات تتبّع الموقع لحالة معيّنة من حالات السائق.
/// الهدف: عدم تشغيل الـ GPS بأقصى طاقته إلا أثناء الرحلة الفعلية.
@@ -697,6 +698,15 @@ class LocationController extends GetxController with WidgetsBindingObserver {
navCtrl.handleLocationUpdateFromCentral(pos, speed, heading);
}
// بثّ الموقع للزبون أثناء مهمة توصيل — يركب على هذه النبضة بدل تدفّق
// GPS ثانٍ، فيستمر بعد إغلاق شاشة التوصيل ما دامت هذه الخدمة حية.
// يخرج فوراً إن لم تكن هناك مهمة نشطة.
FoodLocationBroadcaster.maybeSend(
lat: pos.latitude,
lng: pos.longitude,
heading: heading,
);
await _saveBehaviorIfMoved(pos, now, currentSpeed: speed);
}, onError: (e) => Log.print('❌ Location Stream Error: $e'));
}