hasPermission method

Future<bool> hasPermission({
  1. bool request = true,
})

Implementation

Future<bool> hasPermission({bool request = true}) async {
  try {
    final permissions = web.window.navigator.permissions;
    final permissionStatus = await permissions
        .query(_PermissionDescriptor(name: 'microphone'))
        .toDart;

    final isGranted = permissionStatus.state == 'granted';
    if (!isGranted && request) return _requestPermission();

    return isGranted;
  } catch (_) {
    if (request) return _requestPermission();
    return false;
  }
}