summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Fischer <joeljfischer@gmail.com>2019-06-17 16:23:23 -0400
committerJoel Fischer <joeljfischer@gmail.com>2019-06-17 16:23:23 -0400
commit07f49b6fa9f52f1e77a0c7054390f7d8620f2603 (patch)
treec1d254fdaee46b24cfa4512fb983a0371c448993
parentc365f29ea900cbee739072ed09f031e8a7524321 (diff)
downloadsdl_ios-bugfix/issue_1306_menu_manager_fixes.tar.gz
Fix `runScore` being a property and several method / variable namesbugfix/issue_1306_menu_manager_fixes
-rw-r--r--SmartDeviceLink/SDLMenuManager.m57
1 files changed, 28 insertions, 29 deletions
diff --git a/SmartDeviceLink/SDLMenuManager.m b/SmartDeviceLink/SDLMenuManager.m
index b782d49c6..4698c093b 100644
--- a/SmartDeviceLink/SDLMenuManager.m
+++ b/SmartDeviceLink/SDLMenuManager.m
@@ -58,7 +58,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (assign, nonatomic) UInt32 lastMenuId;
@property (copy, nonatomic) NSArray<SDLMenuCell *> *oldMenuCells;
-@property (copy, nonatomic, nullable) SDLDynamicMenuUpdateRunScore *runScore;
+
@end
UInt32 const ParentIdNotFound = UINT32_MAX;
@@ -105,7 +105,6 @@ UInt32 const MenuCellIdMin = 1;
_hasQueuedUpdate = NO;
_waitingOnHMIUpdate = NO;
_waitingUpdateMenuCells = @[];
- _runScore = nil;
}
#pragma mark - Setters
@@ -166,11 +165,11 @@ UInt32 const MenuCellIdMin = 1;
NSArray<NSNumber *> *deleteMenuStatus = tempScore.oldStatus;
NSArray<NSNumber *> *addMenuStatus = tempScore.updatedStatus;
- NSArray<SDLMenuCell *> *cellsToDelete = [self sdl_filterDeleteMenuItemsWithOldMenuItems:deleteMenuStatus basedOnStatusList:oldKeptCells[startIndex].subCells];
- NSArray<SDLMenuCell *> *cellsToAdd = [self sdl_filterAddMenuItemsWithNewMenuItems:addMenuStatus basedOnStatusList:newKeptCells[startIndex].subCells];
+ NSArray<SDLMenuCell *> *cellsToDelete = [self sdl_filterDeleteMenuItemsWithOldMenuItems:oldKeptCells[startIndex].subCells basedOnStatusList:deleteMenuStatus];
+ NSArray<SDLMenuCell *> *cellsToAdd = [self sdl_filterAddMenuItemsWithNewMenuItems:newKeptCells[startIndex].subCells basedOnStatusList:addMenuStatus];
- NSArray<SDLMenuCell *> *oldKeeps = [self sdl_filterKeepMenuItemsWithOldMenuItems: deleteMenuStatus basedOnStatusList:oldKeptCells[startIndex].subCells];
- NSArray<SDLMenuCell *> *newKeeps = [self sdl_filterKeepMenuItemsWithNewMenuItems: addMenuStatus basedOnStatusList:newKeptCells[startIndex].subCells];
+ NSArray<SDLMenuCell *> *oldKeeps = [self sdl_filterKeepMenuItemsWithOldMenuItems:oldKeptCells[startIndex].subCells basedOnStatusList:deleteMenuStatus];
+ NSArray<SDLMenuCell *> *newKeeps = [self sdl_filterKeepMenuItemsWithNewMenuItems:newKeptCells[startIndex].subCells basedOnStatusList:addMenuStatus];
[self sdl_updateIdsOnMenuCells:cellsToAdd parentId:newKeptCells[startIndex].cellId];
[self transferCellIDFromOldCells:oldKeeps toKeptCells:newKeeps];
@@ -188,46 +187,46 @@ UInt32 const MenuCellIdMin = 1;
}
}
-- (NSArray<SDLMenuCell *> *)sdl_filterDeleteMenuItemsWithOldMenuItems:(NSArray<NSNumber *> *)oldMenuItems basedOnStatusList:(NSArray<SDLMenuCell *> *)oldList {
+- (NSArray<SDLMenuCell *> *)sdl_filterDeleteMenuItemsWithOldMenuItems:(NSArray<SDLMenuCell *> *)oldMenuCells basedOnStatusList:(NSArray<NSNumber *> *)oldStatusList {
NSMutableArray<SDLMenuCell *> *deleteCells = [[NSMutableArray alloc] init];
// The index of the status should corrleate 1-1 with the number of items in the menu
// [2,0,2,0] => [A,B,C,D] = [B,D]
- for (NSUInteger index = 0; index < oldMenuItems.count; index++) {
- if (oldMenuItems[index].integerValue == MenuCellStateDelete) {
- [deleteCells addObject:oldList[index]];
+ for (NSUInteger index = 0; index < oldStatusList.count; index++) {
+ if (oldStatusList[index].integerValue == MenuCellStateDelete) {
+ [deleteCells addObject:oldMenuCells[index]];
}
}
return [deleteCells copy];
}
-- (NSArray<SDLMenuCell *> *)sdl_filterAddMenuItemsWithNewMenuItems:(NSArray<NSNumber *> *)newMenuItems basedOnStatusList:(NSArray<SDLMenuCell *> *)statusList {
+- (NSArray<SDLMenuCell *> *)sdl_filterAddMenuItemsWithNewMenuItems:(NSArray<SDLMenuCell *> *)newMenuCells basedOnStatusList:(NSArray<NSNumber *> *)newStatusList {
NSMutableArray<SDLMenuCell *> *addCells = [[NSMutableArray alloc] init];
// The index of the status should corrleate 1-1 with the number of items in the menu
// [2,1,2,1] => [A,B,C,D] = [B,D]
- for (NSUInteger index = 0; index < newMenuItems.count; index++) {
- if (newMenuItems[index].integerValue == MenuCellStateAdd) {
- [addCells addObject:statusList[index]];
+ for (NSUInteger index = 0; index < newStatusList.count; index++) {
+ if (newStatusList[index].integerValue == MenuCellStateAdd) {
+ [addCells addObject:newMenuCells[index]];
}
}
return [addCells copy];
}
-- (NSArray<SDLMenuCell *> *)sdl_filterKeepMenuItemsWithOldMenuItems:(NSArray<NSNumber *> *)oldMenuItems basedOnStatusList:(NSArray<SDLMenuCell *> *)statusList {
+- (NSArray<SDLMenuCell *> *)sdl_filterKeepMenuItemsWithOldMenuItems:(NSArray<SDLMenuCell *> *)oldMenuCells basedOnStatusList:(NSArray<NSNumber *> *)keepStatusList {
NSMutableArray<SDLMenuCell *> *keepMenuCells = [[NSMutableArray alloc] init];
- for (NSUInteger index = 0; index < oldMenuItems.count; index++) {
- if (oldMenuItems[index].integerValue == MenuCellStateKeep) {
- [keepMenuCells addObject:statusList[index]];
+ for (NSUInteger index = 0; index < keepStatusList.count; index++) {
+ if (keepStatusList[index].integerValue == MenuCellStateKeep) {
+ [keepMenuCells addObject:oldMenuCells[index]];
}
}
return [keepMenuCells copy];
}
-- (NSArray<SDLMenuCell *> *)sdl_filterKeepMenuItemsWithNewMenuItems:(NSArray<NSNumber *> *)newMenuItems basedOnStatusList:(NSArray<SDLMenuCell *> *)statusList {
+- (NSArray<SDLMenuCell *> *)sdl_filterKeepMenuItemsWithNewMenuItems:(NSArray<SDLMenuCell *> *)newMenuCells basedOnStatusList:(NSArray<NSNumber *> *)keepStatusList {
NSMutableArray<SDLMenuCell *> *keepMenuCells = [[NSMutableArray alloc] init];
- for (NSUInteger index = 0; index < newMenuItems.count; index++) {
- if (newMenuItems[index].integerValue == MenuCellStateKeep) {
- [keepMenuCells addObject:statusList[index]];
+ for (NSUInteger index = 0; index < keepStatusList.count; index++) {
+ if (keepStatusList[index].integerValue == MenuCellStateKeep) {
+ [keepMenuCells addObject:newMenuCells[index]];
}
}
return [keepMenuCells copy];
@@ -243,16 +242,16 @@ UInt32 const MenuCellIdMin = 1;
#pragma mark - Updating System
- (void)sdl_startDynamicMenuUpdate {
- _runScore = [SDLDynamicMenuUpdateAlgorithm compareOldMenuCells:self.oldMenuCells updatedMenuCells:self.menuCells];
+ SDLDynamicMenuUpdateRunScore *runScore = [SDLDynamicMenuUpdateAlgorithm compareOldMenuCells:self.oldMenuCells updatedMenuCells:self.menuCells];
- NSArray<NSNumber *> *deleteMenuStatus = self.runScore.oldStatus;
- NSArray<NSNumber *> *addMenuStatus = self.runScore.updatedStatus;
+ NSArray<NSNumber *> *deleteMenuStatus = runScore.oldStatus;
+ NSArray<NSNumber *> *addMenuStatus = runScore.updatedStatus;
- NSArray<SDLMenuCell *> *cellsToDelete = [self sdl_filterDeleteMenuItemsWithOldMenuItems:deleteMenuStatus basedOnStatusList:self.oldMenuCells];
- NSArray<SDLMenuCell *> *cellsToAdd = [self sdl_filterAddMenuItemsWithNewMenuItems:addMenuStatus basedOnStatusList:self.menuCells];
+ NSArray<SDLMenuCell *> *cellsToDelete = [self sdl_filterDeleteMenuItemsWithOldMenuItems:self.oldMenuCells basedOnStatusList:deleteMenuStatus];
+ NSArray<SDLMenuCell *> *cellsToAdd = [self sdl_filterAddMenuItemsWithNewMenuItems:self.menuCells basedOnStatusList:addMenuStatus];
// These arrays should ONLY contain KEEPS. These will be used for SubMenu compares
- NSArray<SDLMenuCell *> *oldKeeps = [self sdl_filterKeepMenuItemsWithOldMenuItems:deleteMenuStatus basedOnStatusList:self.oldMenuCells];
- NSArray<SDLMenuCell *> *newKeeps = [self sdl_filterKeepMenuItemsWithNewMenuItems:addMenuStatus basedOnStatusList:self.menuCells];
+ NSArray<SDLMenuCell *> *oldKeeps = [self sdl_filterKeepMenuItemsWithOldMenuItems:self.oldMenuCells basedOnStatusList:deleteMenuStatus];
+ NSArray<SDLMenuCell *> *newKeeps = [self sdl_filterKeepMenuItemsWithNewMenuItems:self.menuCells basedOnStatusList:addMenuStatus];
// Cells that will be added need new ids
[self sdl_updateIdsOnMenuCells:cellsToAdd parentId:ParentIdNotFound];