summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Kast <julian@livio.com>2020-03-27 16:58:04 -0400
committerJulian Kast <julian@livio.com>2020-03-27 16:58:04 -0400
commita094e7ac754bc540316d712863fcacb129394fe3 (patch)
treeab7c34144f05c895b543bec4c1d3b7dca7ab0883
parentf1e233d5a2a97f591843d4e6b94b26957370ee42 (diff)
downloadsdl_android-a094e7ac754bc540316d712863fcacb129394fe3.tar.gz
Fixed preloadChoicOperation logic for WindowCapability
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java52
1 files changed, 47 insertions, 5 deletions
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java
index ea2921941..c3a280740 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/PreloadChoicesOperation.java
@@ -197,17 +197,18 @@ class PreloadChoicesOperation extends AsynchronousOperation {
vrCommands = cell.getVoiceCommands();
}
- String menuName = ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(TextFieldName.menuName, defaultMainWindowCapability) ? cell.getText() : null;
+ String menuName = shouldSendChoiceText() ? cell.getText() : null;
+
if (menuName == null){
DebugTool.logError("Could not convert Choice Cell to CreateInteractionChoiceSet. It will not be shown. Cell: "+ cell.toString());
return null;
}
- String secondaryText = ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(TextFieldName.secondaryText, defaultMainWindowCapability) ? cell.getSecondaryText() : null;
- String tertiaryText = ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(TextFieldName.tertiaryText, defaultMainWindowCapability) ? cell.getTertiaryText() : null;
+ String secondaryText = shouldSendChoiceSecondaryText() ? cell.getSecondaryText() : null;
+ String tertiaryText = shouldSendChoiceTertiaryText() ? cell.getTertiaryText() : null;
- Image image = ManagerUtility.WindowCapabilityUtility.hasImageFieldOfName(ImageFieldName.choiceImage, defaultMainWindowCapability) && cell.getArtwork() != null ? cell.getArtwork().getImageRPC() : null;
- Image secondaryImage = ManagerUtility.WindowCapabilityUtility.hasImageFieldOfName(ImageFieldName.choiceSecondaryImage, defaultMainWindowCapability) && cell.getSecondaryArtwork() != null ? cell.getSecondaryArtwork().getImageRPC() : null;
+ Image image = shouldSendChoicePrimaryImage() && cell.getArtwork() != null ? cell.getArtwork().getImageRPC() : null;
+ Image secondaryImage = shouldSendChoiceSecondaryImage() && cell.getSecondaryArtwork() != null ? cell.getSecondaryArtwork().getImageRPC() : null;
Choice choice = new Choice(cell.getChoiceId(), menuName);
choice.setVrCommands(vrCommands);
@@ -229,6 +230,47 @@ class PreloadChoicesOperation extends AsynchronousOperation {
// HELPERS
+ /**
+ * Check WindowCapability for setting MenuName
+ * @return true if capability is null or capability exist, false if capability is not there
+ */
+ boolean shouldSendChoiceText() {
+ return (defaultMainWindowCapability != null && defaultMainWindowCapability.getTextFields() != null) ? ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(TextFieldName.menuName, defaultMainWindowCapability) : true;
+ }
+
+ /**
+ * Check WindowCapability for setting MenuName
+ * @return true if capability is null or capability exist, false if capability is not there
+ */
+ boolean shouldSendChoiceSecondaryText() {
+ return (defaultMainWindowCapability != null && defaultMainWindowCapability.getTextFields() != null) ? ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(TextFieldName.secondaryText, defaultMainWindowCapability) : true;
+ }
+
+ /**
+ * Check WindowCapability for setting tertiaryText
+ * @return true if capability is null or capability exist, false if capability is not there
+ */
+ boolean shouldSendChoiceTertiaryText() {
+ return (defaultMainWindowCapability != null && defaultMainWindowCapability.getTextFields() != null) ? ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(TextFieldName.tertiaryText, defaultMainWindowCapability) : true;
+ }
+
+ /**
+ * Check WindowCapability for setting choiceImage
+ * @return true if capability is null or capability exist, false if capability is not there
+ */
+ boolean shouldSendChoicePrimaryImage() {
+ return (defaultMainWindowCapability != null && defaultMainWindowCapability.getImageFields() != null) ? ManagerUtility.WindowCapabilityUtility.hasImageFieldOfName(ImageFieldName.choiceImage, defaultMainWindowCapability) : true;
+
+ }
+
+ /**
+ * Check WindowCapability for setting choiceSecondaryImage
+ * @return true if capability is null or capability exist, false if capability is not there
+ */
+ boolean shouldSendChoiceSecondaryImage() {
+ return (defaultMainWindowCapability != null && defaultMainWindowCapability.getImageFields() != null) ? ManagerUtility.WindowCapabilityUtility.hasImageFieldOfName(ImageFieldName.choiceSecondaryImage, defaultMainWindowCapability) : true;
+
+ }
List<SdlArtwork> artworksToUpload(){
List<SdlArtwork> artworksToUpload = new ArrayList<>(cellsToUpload.size());
for (ChoiceCell cell : cellsToUpload){