mirror of
https://github.com/status-im/react-native-camera.git
synced 2025-02-24 01:38:18 +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.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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user