requestLocationPermission method
Request location permission specifically
Implementation
Future<PermissionStatus> requestLocationPermission() async {
try {
_logger.logInfo('Permissions', 'Requesting location permission...');
final status = await Permission.locationWhenInUse.request();
switch (status) {
case PermissionStatus.granted:
_logger.logSuccess('Permissions', 'Location permission granted');
break;
case PermissionStatus.denied:
_logger.logWarning('Permissions', 'Location permission denied');
break;
case PermissionStatus.permanentlyDenied:
_logger.logWarning(
'Permissions',
'Location permission permanently denied',
);
break;
case PermissionStatus.restricted:
_logger.logWarning('Permissions', 'Location permission restricted');
break;
case PermissionStatus.limited:
_logger.logWarning('Permissions', 'Location permission limited');
break;
case PermissionStatus.provisional:
_logger.logInfo('Permissions', 'Location permission provisional');
break;
}
return status;
} catch (error) {
_logger.logError(
'Permissions',
'Location permission request failed: ${error.toString()}',
);
return PermissionStatus.denied;
}
}