This commit is contained in:
Hamza-Ayed
2024-05-11 20:26:21 +03:00
parent 940fe26b87
commit 2463370b0b
2 changed files with 24 additions and 13 deletions

View File

@@ -1,11 +1,12 @@
import 'dart:async'; import 'dart:async';
import 'package:SEFER/constant/box_name.dart';
import 'package:SEFER/constant/colors.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:SEFER/views/widgets/elevated_btn.dart';
import 'package:background_location/background_location.dart'; import 'package:background_location/background_location.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import '../../constant/box_name.dart';
import '../../main.dart'; import '../../main.dart';
class LocationBackgroundController extends GetxController { class LocationBackgroundController extends GetxController {
@@ -18,28 +19,38 @@ class LocationBackgroundController extends GetxController {
Future<void> requestLocationPermission() async { Future<void> requestLocationPermission() async {
var status = await Permission.locationAlways.status; var status = await Permission.locationAlways.status;
print(status); print('Initial status: $status');
if (status.isDenied) {
await Permission.locationAlways.request(); if (status.isDenied || status.isRestricted) {
if (status.isGranted) { // Request permission
box.write(BoxName.locationPermission, 'true'); status = await Permission.locationAlways.request();
update(); print('Requested status: $status');
} }
if (status.isPermanentlyDenied) {
// Open app settings if permission is permanently denied
openAppSettings();
box.write(BoxName.locationPermission, 'true');
Get.find<LoginCaptinController>().update();
} else if (status.isGranted) {
// Permission granted
box.write(BoxName.locationPermission, 'true');
Get.find<LoginCaptinController>().update();
} }
} }
Future<void> configureBackgroundLocation() async { Future<void> configureBackgroundLocation() async {
await BackgroundLocation.setAndroidNotification( await BackgroundLocation.setAndroidNotification(
title: "Background Location", title: "Sefer Driver ",
message: "Tracking location...", message: "Tracking location...",
icon: "@mipmap/ic_launcher", icon: "app_icon",
); );
BackgroundLocation.setAndroidConfiguration(500); BackgroundLocation.setAndroidConfiguration(1000);
BackgroundLocation.startLocationService(); BackgroundLocation.startLocationService();
BackgroundLocation.getLocationUpdates((location) { BackgroundLocation.getLocationUpdates((location) {
// Handle location updates here // Handle location updates here
print("Background location: ${location.latitude}, ${location.longitude}"); print("New location: ${location.latitude}, ${location.longitude}");
}); });
} }

View File

@@ -332,7 +332,7 @@ class OrderSpeedRequest extends StatelessWidget {
onPressed: () { onPressed: () {
Get.back(); Get.back();
Get.back(); Get.back();
Get.back(); // Get.back();
})); }));
} else if (jsonDecode(res)['status'] == "success") { } else if (jsonDecode(res)['status'] == "success") {
box.write(BoxName.statusDriverLocation, 'on'); box.write(BoxName.statusDriverLocation, 'on');