mirror of
https://github.com/status-im/react-native-camera.git
synced 2025-02-23 17:28:08 +00:00
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:
parent
ae35e4f216
commit
06988e6566
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user