From cb301507a616cd68c26c4c20c694cde871f4de56 Mon Sep 17 00:00:00 2001 From: Yashwardhan Pauranik Date: Fri, 2 Oct 2020 12:22:00 +0530 Subject: [PATCH] fix: permission_handler package updated permission fetch & request syntax In the latest version of `permission_handler` package, they have changed the syntax of how to request for the user's permission. --- example/lib/main.dart | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 7ba70a1d..4bd58452 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -45,30 +45,25 @@ class _HomePageState extends State { } Future _getContactPermission() async { - PermissionStatus permission = await PermissionHandler() - .checkPermissionStatus(PermissionGroup.contacts); - if (permission != PermissionStatus.granted && - permission != PermissionStatus.disabled) { - Map permissionStatus = - await PermissionHandler() - .requestPermissions([PermissionGroup.contacts]); - return permissionStatus[PermissionGroup.contacts] ?? - PermissionStatus.unknown; + PermissionStatus status = await Permission.contacts.status; + + if (status != PermissionStatus.granted && status != PermissionStatus.permanentlyDenied) { + return await Permission.contacts.request(); } else { - return permission; + return status; } } void _handleInvalidPermissions(PermissionStatus permissionStatus) { if (permissionStatus == PermissionStatus.denied) { throw PlatformException( - code: "PERMISSION_DENIED", - message: "Access to location data denied", + code: 'PERMISSION_DENIED', + message: 'Access to location data denied', details: null); - } else if (permissionStatus == PermissionStatus.disabled) { + } else if (permissionStatus == PermissionStatus.restricted) { throw PlatformException( - code: "PERMISSION_DISABLED", - message: "Location data is not available on device", + code: 'PERMISSION_DISABLED', + message: 'Location data is not available on device', details: null); } }