Skip to content

Commit

Permalink
fix: improve the code use mutlipleRequest for NearbyDevice permission.
Browse files Browse the repository at this point in the history
  • Loading branch information
dawnseeker8 committed Feb 27, 2024
1 parent b98dc59 commit 859ea3c
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions app/components/hooks/useBluetoothPermissions.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import { useState, useRef, useLayoutEffect } from 'react';
import { AppState, AppStateStatus } from 'react-native';
import { getSystemVersion } from 'react-native-device-info';
import { PERMISSIONS, RESULTS, request } from 'react-native-permissions';
import {
PERMISSIONS,
RESULTS,
request,
requestMultiple,
} from 'react-native-permissions';
import Device from '../../util/device';

export enum BluetoothPermissionErrors {
Expand Down Expand Up @@ -40,26 +45,19 @@ const useBluetoothPermissions = () => {
let hasError = false;

if (deviceOSVersion >= 12) {
const connectPermissionStatus = await request(
const result = await requestMultiple([
PERMISSIONS.ANDROID.BLUETOOTH_CONNECT,
);
PERMISSIONS.ANDROID.BLUETOOTH_SCAN,
]);

if (connectPermissionStatus !== RESULTS.GRANTED) {
if (
result[PERMISSIONS.ANDROID.BLUETOOTH_CONNECT] !== RESULTS.GRANTED ||
result[PERMISSIONS.ANDROID.BLUETOOTH_SCAN] !== RESULTS.GRANTED
) {
setBluetoothPermissionError(
BluetoothPermissionErrors.NearbyDevicesAccessBlocked,
);
hasError = true;
} else {
const scanPermissionStatus = await request(
PERMISSIONS.ANDROID.BLUETOOTH_SCAN,
);

if (scanPermissionStatus !== RESULTS.GRANTED) {
setBluetoothPermissionError(
BluetoothPermissionErrors.NearbyDevicesAccessBlocked,
);
hasError = true;
}
}
} else {
const bluetoothPermissionStatus = await request(
Expand Down

0 comments on commit 859ea3c

Please sign in to comment.