misc.dart 1.56 KB
import 'package:flutter/services.dart';
import 'package:permission_handler/permission_handler.dart';

Future<bool> checkContactPermission() async {
  PermissionStatus permissionStatus = await Permission.contacts.status;
  if (permissionStatus == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<bool> checkPermission(Permission permissionGroup) async {
  PermissionStatus permissionStatus = await permissionGroup.status;
  if (permissionStatus == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<bool> requestPermission(Permission permissionGroup) async {
  final permissions = await [permissionGroup].request();
  if (await permissionGroup.request().isGranted) {
    print(true);
    // Either the permission was already granted before or the user just granted it.
  }

  if (permissions[permissionGroup] == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<PermissionStatus> permissionStatus(Permission permissionGroup) async {
  PermissionStatus permissionStatus = await permissionGroup.status;
  return permissionStatus;
}

Future<PermissionStatus> contactPermissionStatus() async {
  PermissionStatus permissionStatus = await Permission.contacts.status;
  return permissionStatus;
}

Future<bool> requestContactPermission() async {
  final permissions = await [Permission.contacts].request();
  if (permissions[Permission.contacts] == PermissionStatus.granted) {
    return true;
  } else {
    return false;
  }
}

Future<bool> openSetting() {
  return openAppSettings();
}