permissions static method
Implementation
static Future<bool> permissions({bool isVideo = true}) async {
if (isVideo) {
if (kIsWeb) {
final perm1 =
await html.window.navigator.permissions?.query({"name": "camera"});
final perm2 = await html.window.navigator.permissions
?.query({"name": "microphone"});
appDebugPrint('perm1: ${perm1?.state}');
appDebugPrint('perm2: ${perm2?.state}');
if (perm1?.state != "granted" && perm2?.state != "granted") {
return false;
}
return true;
} else {
Map<Permission, PermissionStatus> result =
await [Permission.camera, Permission.microphone].request();
return result[Permission.camera] == PermissionStatus.granted &&
result[Permission.microphone] == PermissionStatus.granted;
}
} else {
if (kIsWeb) {
final perm2 = await html.window.navigator.permissions
?.query({"name": "microphone"});
appDebugPrint('perm2: ${perm2?.state}');
if (perm2?.state != "granted") {
return false;
}
return true;
} else {
Map<Permission, PermissionStatus> result =
await [Permission.microphone].request();
return result[Permission.microphone] == PermissionStatus.granted;
}
}
}