From 2463370b0bdec747b8f18531d3729453b96743a7 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 11 May 2024 20:26:21 +0300 Subject: [PATCH] 5/11/7 --- .../location_background_controller.dart | 35 ++++++++++++------- .../orderCaptin/order_speed_request.dart | 2 +- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/lib/controller/functions/location_background_controller.dart b/lib/controller/functions/location_background_controller.dart index d8175be..326f519 100644 --- a/lib/controller/functions/location_background_controller.dart +++ b/lib/controller/functions/location_background_controller.dart @@ -1,11 +1,12 @@ import 'dart:async'; +import 'package:SEFER/constant/box_name.dart'; import 'package:SEFER/constant/colors.dart'; +import 'package:SEFER/controller/auth/captin/login_captin_controller.dart'; import 'package:SEFER/views/widgets/elevated_btn.dart'; import 'package:background_location/background_location.dart'; import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; -import '../../constant/box_name.dart'; import '../../main.dart'; class LocationBackgroundController extends GetxController { @@ -18,28 +19,38 @@ class LocationBackgroundController extends GetxController { Future requestLocationPermission() async { var status = await Permission.locationAlways.status; - print(status); - if (status.isDenied) { - await Permission.locationAlways.request(); - if (status.isGranted) { - box.write(BoxName.locationPermission, 'true'); - update(); - } + print('Initial status: $status'); + + if (status.isDenied || status.isRestricted) { + // Request permission + status = await Permission.locationAlways.request(); + print('Requested status: $status'); + } + + if (status.isPermanentlyDenied) { + // Open app settings if permission is permanently denied + openAppSettings(); + box.write(BoxName.locationPermission, 'true'); + Get.find().update(); + } else if (status.isGranted) { + // Permission granted + box.write(BoxName.locationPermission, 'true'); + Get.find().update(); } } Future configureBackgroundLocation() async { await BackgroundLocation.setAndroidNotification( - title: "Background Location", + title: "Sefer Driver ", message: "Tracking location...", - icon: "@mipmap/ic_launcher", + icon: "app_icon", ); - BackgroundLocation.setAndroidConfiguration(500); + BackgroundLocation.setAndroidConfiguration(1000); BackgroundLocation.startLocationService(); BackgroundLocation.getLocationUpdates((location) { // Handle location updates here - print("Background location: ${location.latitude}, ${location.longitude}"); + print("New location: ${location.latitude}, ${location.longitude}"); }); } diff --git a/lib/views/home/Captin/orderCaptin/order_speed_request.dart b/lib/views/home/Captin/orderCaptin/order_speed_request.dart index 62057fd..4c29bfb 100644 --- a/lib/views/home/Captin/orderCaptin/order_speed_request.dart +++ b/lib/views/home/Captin/orderCaptin/order_speed_request.dart @@ -332,7 +332,7 @@ class OrderSpeedRequest extends StatelessWidget { onPressed: () { Get.back(); Get.back(); - Get.back(); + // Get.back(); })); } else if (jsonDecode(res)['status'] == "success") { box.write(BoxName.statusDriverLocation, 'on');