1// Copyright 2018-present 650 Industries. All rights reserved. 2 3#import <ExpoModulesCore/EXPermissionsMethodsDelegate.h> 4 5@implementation EXPermissionsMethodsDelegate 6 7+ (void)askForPermissionWithPermissionsManager:(id<EXPermissionsInterface>)permissionsManager 8 withRequester:(Class)requesterClass 9 resolve:(EXPromiseResolveBlock)resolve 10 reject:(EXPromiseRejectBlock)reject 11{ 12 if (!permissionsManager) { 13 return reject(@"E_NO_PERMISSIONS", @"Permissions module not found. Are you sure that Expo modules are properly linked?", nil); 14 } 15 [permissionsManager askForPermissionUsingRequesterClass:requesterClass 16 resolve:resolve 17 reject:reject]; 18} 19 20+ (void)getPermissionWithPermissionsManager:(id<EXPermissionsInterface>)permissionsManager 21 withRequester:(Class)requesterClass 22 resolve:(EXPromiseResolveBlock)resolve 23 reject:(EXPromiseRejectBlock)reject 24{ 25 if (!permissionsManager) { 26 return reject(@"E_NO_PERMISSIONS", @"Permissions module not found. Are you sure that Expo modules are properly linked?", nil); 27 } 28 [permissionsManager getPermissionUsingRequesterClass:requesterClass 29 resolve:resolve 30 reject:reject]; 31} 32 33+ (void)registerRequesters:(NSArray<id<EXPermissionsRequester>> *)newRequesters 34 withPermissionsManager:(id<EXPermissionsInterface>)permissionsManager 35{ 36 if (permissionsManager) { 37 [permissionsManager registerRequesters:newRequesters]; 38 } 39} 40 41@end 42