Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Platform.OS === 'ios'
? PERMISSIONS.IOS.BLUETOOTH_PERIPHERAL
: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION
try {
let result = await request(permission)
switch (result) {
case RESULTS.UNAVAILABLE:
console.log('Bluetooth is not available (on this device / in this context)')
break
case RESULTS.DENIED:
console.log('The Bluetooth permission has not been requested / is denied but requestable')
break
case RESULTS.LIMITED:
console.log('The Bluetooth permission is limited: some actions are possible')
break
case RESULTS.GRANTED:
console.log('The Bluetooth permission is granted')
return true
case RESULTS.BLOCKED:
console.log('The Bluetooth permission is denied and not requestable anymore')
break
}
} catch (error) {
console.log('The Bluetooth permission request failed: ', error)
}
return false
}
const acquireMicPerm = async (): Promise => {
try {
const status = await check(
Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO,
)
if (status === RESULTS.GRANTED) {
return MicPermStatus.GRANTED
}
try {
const status = await request(
Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO,
)
if (status === RESULTS.GRANTED) {
return MicPermStatus.NEWLY_GRANTED
}
return MicPermStatus.DENIED
} catch (err) {
console.log(err)
}
onPress: async () => {
setActiveTab(TabItems.Gallery)
if (Platform.OS === 'ios') {
try {
const status = await check(PERMISSIONS.IOS.PHOTO_LIBRARY)
if (status !== RESULTS.GRANTED) {
try {
const status = await request(PERMISSIONS.IOS.PHOTO_LIBRARY)
if (status !== RESULTS.GRANTED) {
setSecurityAccessVisibility(true)
return
}
} catch (err) {
console.log(err)
}
}
} catch (err) {
console.log(err)
}
}
},
},
[
{
text: 'OK',
onPress: () => {
Linking.openSettings()
},
},
],
)
return
}
if (result === RESULTS.UNAVAILABLE) {
showIsDisabledAlert()
return
}
if (result === RESULTS.GRANTED) {
try {
await getGeolocation()
} catch (error) {
showIsDisabledAlert()
return
}
navigation.dismiss()
}
}
const onHidePress = () => {
export const requestBluetoothPermission = async (): Promise => {
let permission =
Platform.OS === 'ios'
? PERMISSIONS.IOS.BLUETOOTH_PERIPHERAL
: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION
try {
let result = await request(permission)
if (result === RESULTS.GRANTED) {
return true
}
} catch (err) {}
return false
}
onPress={async () => {
closeModal()
const { status } = await requestNotifications(['alert', 'badge'])
await setPersistentOption({
type: PersistentOptionsKeys.Configurations,
payload: {
...persistentOptions.configurations,
notification: {
...persistentOptions.configurations.notification,
state: status === RESULTS.GRANTED ? 'added' : 'skipped',
},
},
})
await requestBluetoothAndHandleAlert()
if (persistentOptions.preset.value === 'full-anonymity') {
navigate.main.networkOptions()
} else {
navigate.onboarding.servicesAuth()
}
}}
>
async requestPermission() {
switch (await request(cameraPermission)) {
case RESULTS.UNAVAILABLE:
this.setState({
error:
'This feature is not available (on this device / in this context)',
})
break
case RESULTS.DENIED:
this.setState({
error: 'The permission has been denied',
})
break
case RESULTS.GRANTED:
this.setState({
showCamera: true,
})
break
case RESULTS.BLOCKED:
this.setState({
error: 'The permission is denied and not requestable anymore',
})
break
}
}
function getSettingString(setting: boolean | undefined) {
return setting
? RESULTS.GRANTED
: setting === false
? RESULTS.DENIED
: RESULTS.UNAVAILABLE;
}
request(PERMISSIONS.IOS.CAMERA).then((cameraStatus) => {
this.setState({
isAuthorized: cameraStatus === RESULTS.GRANTED,
isAuthorizationChecked: true,
});
});
} else if (