diff options
author | lapinskijw <jlapinski.dev@gmail.com> | 2020-06-24 15:34:35 -0400 |
---|---|---|
committer | lapinskijw <jlapinski.dev@gmail.com> | 2020-06-24 15:34:35 -0400 |
commit | 25110876549a4f7dcd01ff67867f13c244f222d2 (patch) | |
tree | 4589447872de06de6197110299c29a526bb79637 /SmartDeviceLink/SDLPermissionManager.m | |
parent | 222e0623d6966a469e3bdc4c51f4a15674495429 (diff) | |
download | sdl_ios-25110876549a4f7dcd01ff67867f13c244f222d2.tar.gz |
fixed statusesOfRPCNames tests
Diffstat (limited to 'SmartDeviceLink/SDLPermissionManager.m')
-rw-r--r-- | SmartDeviceLink/SDLPermissionManager.m | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/SmartDeviceLink/SDLPermissionManager.m b/SmartDeviceLink/SDLPermissionManager.m index c923a17d3..3b5bd3017 100644 --- a/SmartDeviceLink/SDLPermissionManager.m +++ b/SmartDeviceLink/SDLPermissionManager.m @@ -133,22 +133,14 @@ NS_ASSUME_NONNULL_BEGIN } - (NSDictionary<SDLPermissionRPCName, NSNumber *> *)statusOfRPCs:(NSArray<SDLPermissionRPCName> *)rpcNames { - NSMutableDictionary<SDLPermissionRPCName, NSNumber *> *permissionAllowedDict = [NSMutableDictionary dictionary]; - - for (NSString *rpcName in rpcNames) { - BOOL allowed = [self isRPCAllowed:rpcName]; - permissionAllowedDict[rpcName] = @(allowed); - } - - return [permissionAllowedDict copy]; + return [self sdl_convertPermissionElementsDictionary:[self statusesOfRPCNames:[self sdl_createPermissionElementFromRPCNames:rpcNames]]]; } -- (NSDictionary<SDLRPCFunctionName, NSNumber *> *)statusesOfRPCNames:(NSArray<SDLPermissionElement *> *)rpcNames { - NSMutableDictionary<SDLRPCFunctionName, NSNumber *> *permissionAllowedDict = [NSMutableDictionary dictionary]; +- (NSDictionary<SDLPermissionElement *, NSNumber *> *)statusesOfRPCNames:(NSArray<SDLPermissionElement *> *)rpcNames { + NSMutableDictionary<SDLPermissionElement *, NSNumber *> *permissionAllowedDict = [NSMutableDictionary dictionary]; for (SDLPermissionElement *permissionElement in rpcNames) { - BOOL allowed = [self isRPCNameAllowed:permissionElement.rpcName]; - permissionAllowedDict[permissionElement.rpcName] = @(allowed); + permissionAllowedDict[permissionElement] = @([self isRPCNameAllowed:permissionElement.rpcName]); } return [permissionAllowedDict copy]; @@ -297,6 +289,16 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Helper Methods +- (NSDictionary<SDLPermissionRPCName, NSNumber *> *)sdl_convertPermissionElementsDictionary:(NSDictionary<SDLPermissionElement*, NSNumber *> *)permissionElementsDictionary { + NSMutableDictionary *rpcNameDictionary = [[NSMutableDictionary alloc] init]; + for (SDLPermissionElement *key in permissionElementsDictionary.allKeys) { + SDLPermissionRPCName rpcName = key.rpcName; + [rpcNameDictionary setObject:permissionElementsDictionary[key] forKey:rpcName]; + } + + return rpcNameDictionary; +} + - (NSArray<SDLPermissionElement *> *)sdl_createPermissionElementFromRPCNames:(NSArray<NSString *> *)rpcNames { NSMutableArray *permissionElements = [NSMutableArray new]; for (NSString *rpcName in rpcNames) { @@ -318,7 +320,7 @@ NS_ASSUME_NONNULL_BEGIN */ - (BOOL)sdl_didFilterChange:(SDLPermissionFilter *)filter fromHMILevel:(SDLHMILevel)oldHMILevel toHMILevel:(SDLHMILevel)newHMILevel { BOOL changed = NO; - for (NSString *rpcName in filter.rpcNames) { + for (NSString *rpcName in [filter getRPCNamesFromPermissionElements:filter.permissionElements]) { SDLPermissionItem *item = self.permissions[rpcName]; BOOL newAllowed = [item.hmiPermissions.allowed containsObject:self.currentHMILevel]; BOOL oldAllowed = [item.hmiPermissions.allowed containsObject:oldHMILevel]; @@ -382,7 +384,7 @@ NS_ASSUME_NONNULL_BEGIN for (SDLPermissionFilter *filter in filters) { NSArray<SDLPermissionItem *> *modifiedPermissionItems = [self sdl_modifiedUpdatedPermissions:updatedPermissions comparedToCurrentPermissions:currentPermissions]; for (SDLPermissionItem *item in modifiedPermissionItems) { - if ([filter.rpcNames containsObject:item.rpcName]) { + if ([[filter getRPCNamesFromPermissionElements:filter.permissionElements] containsObject:item.rpcName]) { [modifiedFilters addObject:filter]; break; } |