grantedPermissions method
Implementation
Future<bool?> grantedPermissions({bool chat = false, int index = -1}) async {
bool have = true;
PermissionStatus status;
if (chat) {
status = await Permission.camera.status;
if (status != PermissionStatus.granted) {
have = false;
}
if (checkDenied(status)) {
return null;
}
status = await Permission.microphone.status;
if (status != PermissionStatus.granted) {
have = false;
}
if (checkDenied(status)) {
return null;
}
} else if (index == 0) {
status = await Permission.camera.status;
if (status != PermissionStatus.granted) {
have = false;
}
if (checkDenied(status)) {
return null;
}
} else if (index == 1) {
status = Platform.isAndroid
? await Permission.storage.status
: await Permission.photos.status;
if (status != PermissionStatus.granted &&
status != PermissionStatus.limited) {
have = false;
}
if (checkDenied(status)) {
return null;
}
} else if (index == 2) {
status = await Permission.microphone.status;
if (status != PermissionStatus.granted) {
have = false;
}
if (checkDenied(status)) {
return null;
}
} else if (index == 4) {
status = await Permission.phone.status;
if (status != PermissionStatus.granted) {
have = false;
}
if (checkDenied(status)) {
return null;
}
} else if (index == 5) {
status = await Permission.appTrackingTransparency.status;
if (status != PermissionStatus.granted) {
have = false;
}
if (checkDenied(status)) {
return null;
}
} else {
status = await Permission.storage.status;
if (status != PermissionStatus.granted &&
status != PermissionStatus.limited) {
have = false;
}
if (checkDenied(status)) {
return null;
}
}
return have;
}