1// Copyright 2015-present 650 Industries. All rights reserved. 2#import "EXScopedFilePermissionModule.h" 3#import <UMFileSystemInterface/UMFileSystemInterface.h> 4#import <UMConstantsInterface/UMConstantsInterface.h> 5 6@implementation EXScopedFilePermissionModule 7 8- (UMFileSystemPermissionFlags)getExternalPathPermissions:(NSString *)path 9{ 10 // may block access to external paths which contain "ExponentExperienceData" 11 if (![self shouldForbidAccessToExternalDirectories] || (![path containsString:@"ExponentExperienceData"])) { 12 return [super getExternalPathPermissions:path]; 13 } 14 return UMFileSystemPermissionNone; 15} 16 17- (BOOL)shouldForbidAccessToExternalDirectories { 18 id<UMConstantsInterface> constantsModule = [[self moduleRegistry] getModuleImplementingProtocol:@protocol(UMConstantsInterface)]; 19 return [@"expo" isEqualToString:constantsModule.appOwnership]; 20} 21 22@end 23