mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Reland "[RN] TM Spec: relax PermissionsAndroid enforcement"
Summary: Original commit changeset: cb5ce87685dc Reviewed By: cpojer Differential Revision: D15578851 fbshipit-source-id: ab8cb9a14f94bbf4e850d9af91133612060e1401
This commit is contained in:
committed by
Facebook Github Bot
parent
db7e00250c
commit
3b65d2c2c8
@@ -56,4 +56,4 @@ export interface Spec extends TurboModule {
|
||||
) => Promise<{[permission: PermissionType]: PermissionStatus}>;
|
||||
}
|
||||
|
||||
export default TurboModuleRegistry.getEnforcing<Spec>('PermissionsAndroid');
|
||||
export default TurboModuleRegistry.get<Spec>('PermissionsAndroid');
|
||||
|
||||
@@ -11,10 +11,11 @@
|
||||
'use strict';
|
||||
|
||||
import NativeDialogManagerAndroid from '../NativeModules/specs/NativeDialogManagerAndroid';
|
||||
const NativeModules = require('../BatchedBridge/NativeModules');
|
||||
const Platform = require('../Utilities/Platform');
|
||||
import NativePermissionsAndroid from './NativePermissionsAndroid';
|
||||
|
||||
import invariant from 'invariant';
|
||||
|
||||
import type {
|
||||
PermissionStatus,
|
||||
PermissionType,
|
||||
@@ -90,6 +91,11 @@ class PermissionsAndroid {
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
invariant(
|
||||
NativePermissionsAndroid,
|
||||
'PermissionsAndroid is not installed correctly.',
|
||||
);
|
||||
|
||||
return NativePermissionsAndroid.checkPermission(permission);
|
||||
}
|
||||
|
||||
@@ -106,6 +112,12 @@ class PermissionsAndroid {
|
||||
);
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
invariant(
|
||||
NativePermissionsAndroid,
|
||||
'PermissionsAndroid is not installed correctly.',
|
||||
);
|
||||
|
||||
return NativePermissionsAndroid.checkPermission(permission);
|
||||
}
|
||||
|
||||
@@ -158,6 +170,11 @@ class PermissionsAndroid {
|
||||
return Promise.resolve(this.RESULTS.DENIED);
|
||||
}
|
||||
|
||||
invariant(
|
||||
NativePermissionsAndroid,
|
||||
'PermissionsAndroid is not installed correctly.',
|
||||
);
|
||||
|
||||
if (rationale) {
|
||||
const shouldShowRationale = await NativePermissionsAndroid.shouldShowRequestPermissionRationale(
|
||||
permission,
|
||||
@@ -197,6 +214,11 @@ class PermissionsAndroid {
|
||||
return Promise.resolve({});
|
||||
}
|
||||
|
||||
invariant(
|
||||
NativePermissionsAndroid,
|
||||
'PermissionsAndroid is not installed correctly.',
|
||||
);
|
||||
|
||||
return NativePermissionsAndroid.requestMultiplePermissions(permissions);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user