Files
driver_tripz/lib/controller/functions/overlay_permisssion.dart
Hamza-Ayed b09e0da403 9/19/2
2024-09-19 06:55:42 +03:00

66 lines
2.1 KiB
Dart

import 'dart:io';
import 'package:SEFER/views/widgets/mydialoug.dart';
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
import '../../constant/box_name.dart';
import '../../main.dart';
import '../auth/captin/login_captin_controller.dart';
Future<void> getPermissionOverlay() async {
if (Platform.isAndroid) {
final bool status = await FlutterOverlayWindow.isPermissionGranted();
if (status == false) {
MyDialog().getDialog(
'Allow overlay permission'.tr,
'To display orders instantly, please grant permission to draw over other apps.'
.tr,
() async {
Get.back();
await FlutterOverlayWindow.requestPermission();
},
);
}
}
}
Future<void> getPermissionLocation() async {
final PermissionStatus status = await Permission.location.status;
if (!status.isGranted) {
// Log.print('status.isGranted: ${status.isGranted}');
box.write(BoxName.locationPermission, 'true');
await Permission.location.request();
Get.find<LoginDriverController>().update();
// MyDialog().getDialog(
// 'Enable Location Permission'.tr, // {en:ar}
// 'Allowing location access will help us display orders near you. Please enable it now.'
// .tr, // {en:ar}
// () async {
// Get.back();
// box.write(BoxName.locationPermission, 'true');
// await Permission.location.request();
// },
// );
}
}
Future<void> getOverLay(String myListString) async {
bool isOverlayActive = await FlutterOverlayWindow.isActive();
if (isOverlayActive) {
await FlutterOverlayWindow.closeOverlay();
}
await FlutterOverlayWindow.showOverlay(
enableDrag: true,
flag: OverlayFlag.focusPointer,
visibility: NotificationVisibility.visibilityPublic,
positionGravity: PositionGravity.auto,
height: 700,
width: WindowSize.matchParent,
startPosition: const OverlayPosition(0, -150),
);
await FlutterOverlayWindow.shareData(myListString);
}