import 'package:hmg_flutter_template/widgets/dialogs/confirm_dialog.dart'; import 'package:flutter/material.dart'; import 'package:permission_handler/permission_handler.dart'; class AppPermissions { static void location(Function(bool) completion, BuildContext context) { Permission.location.isGranted.then((isGranted){ if(!isGranted){ Permission.location.request().then((granted){ completion(granted == PermissionStatus.granted); }); } completion(isGranted); }); } static void showErrorLocationDialog(bool isPermissionError, BuildContext context) { showDialog( context: context, builder: (cxt) => ConfirmDialog( message: "Please provide location permission", onTap: () { if (isPermissionError) { // Geolocator.openAppSettings(); } else { // Geolocator.openLocationSettings(); } Navigator.pop(context); // createVacationRule(list); }, ), ); } static void checkAll(Function(bool) completion) { [Permission.location].request().then((value) { bool allGranted = false; for (var element in value.values) { allGranted = allGranted && element == PermissionStatus.granted; } completion(allGranted); }); } }