summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLPermissionManager.m
diff options
context:
space:
mode:
authorlapinskijw <jlapinski.dev@gmail.com>2020-06-24 15:34:35 -0400
committerlapinskijw <jlapinski.dev@gmail.com>2020-06-24 15:34:35 -0400
commit25110876549a4f7dcd01ff67867f13c244f222d2 (patch)
tree4589447872de06de6197110299c29a526bb79637 /SmartDeviceLink/SDLPermissionManager.m
parent222e0623d6966a469e3bdc4c51f4a15674495429 (diff)
downloadsdl_ios-25110876549a4f7dcd01ff67867f13c244f222d2.tar.gz
fixed statusesOfRPCNames tests
Diffstat (limited to 'SmartDeviceLink/SDLPermissionManager.m')
-rw-r--r--SmartDeviceLink/SDLPermissionManager.m30
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;
}