UNPKG

react-native-esc-pos-printer

Version:

An unofficial React Native library for printing on an EPSON TM printer with the Epson ePOS SDK for iOS and Epson ePOS SDK for Android

67 lines (66 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enableLocationAccessAndroid10 = enableLocationAccessAndroid10; exports.requestAndroidPermissions = requestAndroidPermissions; var _reactNative = require("react-native"); var _index = require("../../specs/index.js"); const platformVersion = _reactNative.Platform.Version; async function requestAndroidPermissions() { if (platformVersion < 23) return true; let permissions = []; if (platformVersion >= 31) { const permissionBluetoothScanGranted = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN); const permissionBluetoothConnectGranted = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT); if (!permissionBluetoothScanGranted) { permissions.push(_reactNative.PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN); } if (!permissionBluetoothConnectGranted) { permissions.push(_reactNative.PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT); } } else if (platformVersion >= 29 && platformVersion <= 30) { const permissionFineLocationGranted = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION); if (!permissionFineLocationGranted) { permissions.push(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION); } } else { const permissionCoarseLocationGranted = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION); if (!permissionCoarseLocationGranted) { permissions.push(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION); } } if (permissions.length > 0) { const status = await _reactNative.PermissionsAndroid.requestMultiple(permissions); return Object.keys(status ?? {}).every(key => status[key] === _reactNative.PermissionsAndroid.RESULTS.GRANTED); } return true; } function enableLocationAccessAndroid10() { if (platformVersion > 28) { let successListener; let errorListener; function removeListeners() { successListener?.remove(); errorListener?.remove(); successListener = null; errorListener = null; } return new Promise((res, rej) => { successListener = _index.EscPosPrinterDiscovery.enableLocationSettingSuccess(() => { removeListeners(); res(true); }); errorListener = _index.EscPosPrinterDiscovery.enableLocationSettingFailure(() => { removeListeners(); rej(false); }); _index.EscPosPrinterDiscovery.enableLocationSetting().then(() => { removeListeners(); res(true); }); }); } return Promise.resolve(true); } //# sourceMappingURL=permissions.js.map