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.checkDeviceAuthorizationStatus
: CameraManager.checkVideoAuthorizationStatus; : CameraManager.checkVideoAuthorizationStatus;
if (check) { if (check)
const isAuthorized = await check(); return await check();
return isAuthorized;
}
} else if (Platform.OS === 'android') { } else if (Platform.OS === 'android') {
const grantedCamera = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, { let params = undefined;
title: permissionDialogTitle, if(permissionDialogTitle || permissionDialogMessage)
message: permissionDialogMessage, params = { title: permissionDialogTitle, message: permissionDialogMessage };
}); const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, params);
if (!hasVideoAndAudio) { if (!hasVideoAndAudio)
return grantedCamera === PermissionsAndroid.RESULTS.GRANTED || grantedCamera === true; return granted === PermissionsAndroid.RESULTS.GRANTED || granted === true;
} const grantedAudio = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, params);
const grantedAudio = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, { return (granted === PermissionsAndroid.RESULTS.GRANTED || granted === true)
title: permissionDialogTitle,
message: permissionDialogMessage,
});
return (grantedCamera === PermissionsAndroid.RESULTS.GRANTED || grantedCamera === true)
&& (grantedAudio === PermissionsAndroid.RESULTS.GRANTED || grantedAudio === true); && (grantedAudio === PermissionsAndroid.RESULTS.GRANTED || grantedAudio === true);
} }
return true; return true;