summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com>2021-02-15 15:34:41 -0500
committerHenigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com>2021-02-15 15:34:41 -0500
commita7048919a711998194921dd1dd620c53e497d789 (patch)
treee2869601d843536b56312d91d49e2bb567c8164e
parent4362a69962530f41f3e043172b907497962d145f (diff)
downloadsdl_android-a7048919a711998194921dd1dd620c53e497d789.tar.gz
iOS Alignment
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java35
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java2
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);