diff options
author | Henigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com> | 2021-02-15 15:34:41 -0500 |
---|---|---|
committer | Henigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com> | 2021-02-15 15:34:41 -0500 |
commit | a7048919a711998194921dd1dd620c53e497d789 (patch) | |
tree | e2869601d843536b56312d91d49e2bb567c8164e | |
parent | 4362a69962530f41f3e043172b907497962d145f (diff) | |
download | sdl_android-a7048919a711998194921dd1dd620c53e497d789.tar.gz |
iOS Alignment
-rw-r--r-- | base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java | 35 | ||||
-rw-r--r-- | base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java | 2 |
2 files changed, 29 insertions, 8 deletions
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java index e05bbc441..3db4b51dc 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java @@ -753,7 +753,7 @@ abstract class BaseMenuManager extends BaseSubManager { private List<SdlArtwork> findAllArtworksToBeUploadedFromCells(List<MenuCell> cells) { // Make sure we can use images in the menus - if (!supportsImages()) { + if (!hasImageFieldOfName(ImageFieldName.cmdIcon)) { return new ArrayList<>(); } @@ -762,6 +762,17 @@ abstract class BaseMenuManager extends BaseSubManager { if (fileManager.get() != null && fileManager.get().fileNeedsUpload(cell.getIcon())) { artworks.add(cell.getIcon()); } + + if (cell.getSubCells() != null && cell.getSubCells().size() > 0 && hasImageFieldOfName(ImageFieldName.menuSubMenuSecondaryImage)) { + if (fileManager.get() != null && fileManager.get().fileNeedsUpload(cell.getSecondaryArtwork())) { + artworks.add(cell.getSecondaryArtwork()); + } + } else if ((cell.getSubCells() == null || cell.getSubCells().isEmpty()) && hasImageFieldOfName(ImageFieldName.menuCommandSecondaryImage)) { + if (fileManager.get() != null && fileManager.get().fileNeedsUpload(cell.getSecondaryArtwork())) { + artworks.add(cell.getSecondaryArtwork()); + } + } + if (cell.getSubCells() != null && cell.getSubCells().size() > 0) { artworks.addAll(findAllArtworksToBeUploadedFromCells(cell.getSubCells())); } @@ -773,8 +784,17 @@ abstract class BaseMenuManager extends BaseSubManager { private boolean shouldRPCsIncludeImages(List<MenuCell> cells) { for (MenuCell cell : cells) { SdlArtwork artwork = cell.getIcon(); + SdlArtwork secondaryArtwork = cell.getSecondaryArtwork(); if (artwork != null && !artwork.isStaticIcon() && fileManager.get() != null && !fileManager.get().hasUploadedFile(artwork)) { return false; + } else if (cell.getSubCells() != null && cell.getSubCells().size() > 0 && hasImageFieldOfName(ImageFieldName.menuSubMenuSecondaryImage)) { + if (secondaryArtwork != null && !secondaryArtwork.isStaticIcon() && fileManager.get() != null && !fileManager.get().hasUploadedFile(secondaryArtwork)) { + return false; + } + } else if ((cell.getSubCells() == null || cell.getSubCells().isEmpty()) && hasImageFieldOfName(ImageFieldName.menuCommandSecondaryImage)) { + if (secondaryArtwork != null && !secondaryArtwork.isStaticIcon() && fileManager.get() != null && !fileManager.get().hasUploadedFile(secondaryArtwork)) { + return false; + } } else if (cell.getSubCells() != null && cell.getSubCells().size() > 0) { return shouldRPCsIncludeImages(cell.getSubCells()); } @@ -782,9 +802,8 @@ abstract class BaseMenuManager extends BaseSubManager { return true; } - @SuppressWarnings("BooleanMethodIsAlwaysInverted") - private boolean supportsImages() { - return defaultMainWindowCapability == null || ManagerUtility.WindowCapabilityUtility.hasImageFieldOfName(defaultMainWindowCapability, ImageFieldName.cmdIcon); + private boolean hasImageFieldOfName(ImageFieldName imageFieldName) { + return defaultMainWindowCapability == null || ManagerUtility.WindowCapabilityUtility.hasImageFieldOfName(defaultMainWindowCapability, imageFieldName); } // IDs @@ -967,7 +986,7 @@ abstract class BaseMenuManager extends BaseSubManager { command.setVrCommands(null); } command.setCmdIcon((cell.getIcon() != null && shouldHaveArtwork) ? cell.getIcon().getImageRPC() : null); - command.setSecondaryImage((cell.getSecondaryArtwork() != null && shouldHaveArtwork) ? cell.getSecondaryArtwork().getImageRPC() : null); + command.setSecondaryImage((cell.getSecondaryArtwork() != null && shouldHaveArtwork && fileManager.get() != null && fileManager.get().fileNeedsUpload(cell.getSecondaryArtwork())) ? cell.getSecondaryArtwork().getImageRPC() : null); return command; } @@ -983,7 +1002,7 @@ abstract class BaseMenuManager extends BaseSubManager { subMenu.setMenuLayout(menuConfiguration.getSubMenuLayout()); } subMenu.setMenuIcon((shouldHaveArtwork && (cell.getIcon() != null && cell.getIcon().getImageRPC() != null)) ? cell.getIcon().getImageRPC() : null); - subMenu.setSecondaryImage((shouldHaveArtwork && (cell.getSecondaryArtwork() != null && cell.getSecondaryArtwork().getImageRPC() != null)) ? cell.getSecondaryArtwork().getImageRPC() : null); + subMenu.setSecondaryImage((shouldHaveArtwork && fileManager.get() != null && fileManager.get().fileNeedsUpload(cell.getSecondaryArtwork()) && (cell.getSecondaryArtwork() != null && cell.getSecondaryArtwork().getImageRPC() != null)) ? cell.getSecondaryArtwork().getImageRPC() : null); return subMenu; } @@ -1143,7 +1162,7 @@ abstract class BaseMenuManager extends BaseSubManager { List<RPCRequest> mainMenuCommands; final List<RPCRequest> subMenuCommands; - if (!shouldRPCsIncludeImages(menu) || !supportsImages()) { + if (!shouldRPCsIncludeImages(menu) || !hasImageFieldOfName(ImageFieldName.cmdIcon)) { // Send artwork-less menu mainMenuCommands = mainMenuCommandsForCells(menu, false); subMenuCommands = subMenuCommandsForCells(menu, false); @@ -1248,7 +1267,7 @@ abstract class BaseMenuManager extends BaseSubManager { List<RPCRequest> mainMenuCommands; - if (!shouldRPCsIncludeImages(adds) || !supportsImages()) { + if (!shouldRPCsIncludeImages(adds) || !hasImageFieldOfName(ImageFieldName.cmdIcon)) { // Send artwork-less menu mainMenuCommands = createCommandsForDynamicSubCells(newMenu, adds, false); } else { diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java index a49f1742a..7694399a8 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java @@ -112,6 +112,7 @@ public class MenuCell implements Cloneable { * @param voiceCommands Voice commands that will activate the menu cell * @param listener Calls the code that will be run when the menu cell is selected */ + @Deprecated public MenuCell(@NonNull String title, @Nullable SdlArtwork icon, @Nullable List<String> voiceCommands, @Nullable MenuSelectionListener listener) { setTitle(title); // title is the only required param setIcon(icon); @@ -156,6 +157,7 @@ public class MenuCell implements Cloneable { * @param icon The cell's image * @param subCells The sub-cells for the sub menu that will appear when the cell is selected */ + @Deprecated public MenuCell(@NonNull String title, @Nullable MenuLayout subMenuLayout, @Nullable SdlArtwork icon, @Nullable List<MenuCell> subCells) { setTitle(title); // title is the only required param setSubMenuLayout(subMenuLayout); |