workaround for PermissionsAndroid request rationale issue (#1730)

* workaround for PermissionsAndroid request rationale

workaround for the problem in PermissionsAndroid request rationale being something different that undefined, Also simplified the code

* fix lint issues for build

* added missing permissions for video audio recording
This commit is contained in:
Alvaro Jose 2018-08-08 16:40:59 +02:00 committed by Sibelius Seraphini
parent ae35e4f216
commit 06988e6566

View File

@ -6,24 +6,17 @@ export const requestPermissions = async (hasVideoAndAudio, CameraManager, permis
? CameraManager.checkDeviceAuthorizationStatus
: CameraManager.checkVideoAuthorizationStatus;
if (check) {
const isAuthorized = await check();
return isAuthorized;
}
if (check)
return await check();
} else if (Platform.OS === 'android') {
const grantedCamera = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, {
title: permissionDialogTitle,
message: permissionDialogMessage,
});
if (!hasVideoAndAudio) {
return grantedCamera === PermissionsAndroid.RESULTS.GRANTED || grantedCamera === true;
}
const grantedAudio = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, {
title: permissionDialogTitle,
message: permissionDialogMessage,
});
return (grantedCamera === PermissionsAndroid.RESULTS.GRANTED || grantedCamera === true)
let params = undefined;
if(permissionDialogTitle || permissionDialogMessage)
params = { title: permissionDialogTitle, message: permissionDialogMessage };
const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, params);
if (!hasVideoAndAudio)
return granted === PermissionsAndroid.RESULTS.GRANTED || granted === true;
const grantedAudio = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, params);
return (granted === PermissionsAndroid.RESULTS.GRANTED || granted === true)
&& (grantedAudio === PermissionsAndroid.RESULTS.GRANTED || grantedAudio === true);
}
return true;