Advertisement
brooth

Untitled

Jun 13th, 2022
1,262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 2.44 KB | None | 0 0
  1.  
  2.       if (defaultTargetPlatform == TargetPlatform.android) {
  3.         if (await Permission.location.status != PermissionStatus.granted) {
  4.           logger.d('location permission is not granted');
  5.           return showDialog(
  6.               context: context,
  7.               builder: DialogsBuilders.confirm(
  8.                 message: context.i18n.LocationPermissionNotAllowedDialogMessage,
  9.                 positiveText:
  10.                     context.i18n.LocationPermissionNotAllowedDialogPositive,
  11.                 onPositive: () {
  12.                   Future.delayed(
  13.                       const Duration(milliseconds: 300), openAppSettings);
  14.                 },
  15.               ));
  16.         }
  17.       } else {
  18.         final whenInUse = await Permission.locationWhenInUse.status;
  19.         final alwaysAllow = await Permission.locationAlways.status;
  20.         logger.d('$runtimeType: locations permissions: '
  21.             'AlwaysAllow = $alwaysAllow, WhenInUse = $whenInUse');
  22.         if (alwaysAllow == PermissionStatus.denied &&
  23.             whenInUse == PermissionStatus.denied) {
  24.           return showDialog(
  25.               context: context,
  26.               builder: DialogsBuilders.confirm(
  27.                 message: context.i18n.LocationPermissionNotAllowedDialogMessage,
  28.                 positiveText:
  29.                     context.i18n.LocationPermissionNotAllowedDialogPositive,
  30.                 onPositive: () {
  31.                   Future.delayed(
  32.                       const Duration(milliseconds: 300), openAppSettings);
  33.                 },
  34.               ));
  35.         }
  36.         if (alwaysAllow == PermissionStatus.denied &&
  37.             whenInUse == PermissionStatus.granted) {
  38.           return showDialog(
  39.               context: context,
  40.               builder: DialogsBuilders.confirm(
  41.                 message:
  42.                     context.i18n.ChangeToAlwaysAllowPermissionDialogMessage,
  43.                 negativeText:
  44.                     context.i18n.ChangeToAlwaysAllowPermissionDialogNegative,
  45.                 positiveText:
  46.                     context.i18n.ChangeToAlwaysAllowPermissionDialogPositive,
  47.                 onNegative: () {
  48.                   _activate(model, orderType,
  49.                       confirm: confirm, checkPermission: false);
  50.                 },
  51.                 onPositive: () {
  52.                   Future.delayed(
  53.                       const Duration(milliseconds: 300), openAppSettings);
  54.                 },
  55.               ));
  56.         }
  57.       }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement