summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrettyWhite <geekman3454@protonmail.com>2019-06-12 11:10:03 -0400
committerBrettyWhite <geekman3454@protonmail.com>2019-06-12 11:10:03 -0400
commit92551f70057786c96ebc3ba6fcb6e1933c03659b (patch)
tree3f9ed64096bd0d80bd47534bbc5fba79b7167f23
parentbba47b7880aadd90b4a6a64162d8d931c705c9df (diff)
downloadsdl_android-92551f70057786c96ebc3ba6fcb6e1933c03659b.tar.gz
preload choices tests
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperationTests.java32
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperation.java28
2 files changed, 44 insertions, 16 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperationTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperationTests.java
index f8f67eee0..f46b8c3a6 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperationTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperationTests.java
@@ -36,18 +36,22 @@ package com.smartdevicelink.managers.screen.choiceset.operations;
import com.smartdevicelink.AndroidTestCase2;
import com.smartdevicelink.managers.file.FileManager;
+import com.smartdevicelink.managers.file.filetypes.SdlArtwork;
import com.smartdevicelink.managers.screen.choiceset.ChoiceCell;
import com.smartdevicelink.proxy.interfaces.ISdl;
-import com.smartdevicelink.proxy.rpc.CreateInteractionChoiceSet;
import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
import com.smartdevicelink.proxy.rpc.ImageField;
import com.smartdevicelink.proxy.rpc.TextField;
+import com.smartdevicelink.proxy.rpc.enums.CharacterSet;
+import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.ImageFieldName;
import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
import com.smartdevicelink.test.Test;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import static org.mockito.Mockito.mock;
@@ -61,14 +65,22 @@ public class PreloadChoicesOperationTests extends AndroidTestCase2 {
super.setUp();
ChoiceCell cell1 = new ChoiceCell("cell 1");
- ChoiceCell cell2 = new ChoiceCell("cell 2");
+ ChoiceCell cell2 = new ChoiceCell("cell 2", null, Test.GENERAL_ARTWORK);
HashSet<ChoiceCell> cellsToPreload = new HashSet<>();
cellsToPreload.add(cell1);
cellsToPreload.add(cell2);
+ ImageField imageField = new ImageField(ImageFieldName.choiceImage, Arrays.asList(FileType.GRAPHIC_PNG, FileType.GRAPHIC_JPEG));
+ TextField textField = new TextField(TextFieldName.menuName, CharacterSet.CID1SET, 2, 2);
+
+ DisplayCapabilities displayCapabilities = new DisplayCapabilities();
+ displayCapabilities.setGraphicSupported(true);
+ displayCapabilities.setImageFields(Collections.singletonList(imageField));
+ displayCapabilities.setTextFields(Collections.singletonList(textField));
+
ISdl internalInterface = mock(ISdl.class);
FileManager fileManager = mock(FileManager.class);
- preloadChoicesOperation = new PreloadChoicesOperation(internalInterface, fileManager, Test.GENERAL_DISPLAYCAPABILITIES, true, cellsToPreload, null);
+ preloadChoicesOperation = new PreloadChoicesOperation(internalInterface, fileManager, displayCapabilities, true, cellsToPreload, null);
}
@Override
@@ -86,6 +98,9 @@ public class PreloadChoicesOperationTests extends AndroidTestCase2 {
boolean test = preloadChoicesOperation.hasTextFieldOfName(TextFieldName.secondaryText);
assertFalse(test);
+
+ boolean test2 = preloadChoicesOperation.hasTextFieldOfName(TextFieldName.menuName);
+ assertTrue(test2);
}
public void testHasImageFieldOfName(){
@@ -97,7 +112,10 @@ public class PreloadChoicesOperationTests extends AndroidTestCase2 {
capabilities.setImageFields(Collections.singletonList(imageField));
boolean test = preloadChoicesOperation.hasImageFieldOfName(ImageFieldName.choiceImage);
- assertFalse(test);
+ assertTrue(test);
+
+ boolean test2 = preloadChoicesOperation.hasImageFieldOfName(ImageFieldName.appIcon);
+ assertFalse(test2);
}
public void testArtworkNeedsUpload(){
@@ -105,6 +123,10 @@ public class PreloadChoicesOperationTests extends AndroidTestCase2 {
assertTrue(test);
}
-
+ public void testArtworksToUpload(){
+ List<SdlArtwork> artworksToUpload = preloadChoicesOperation.artworksToUpload();
+ assertNotNull(artworksToUpload);
+ assertEquals(artworksToUpload.size(), 1);
+ }
}
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperation.java
index bc98d0fcc..1c7a620bf 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperation.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/choiceset/operations/PreloadChoicesOperation.java
@@ -70,7 +70,7 @@ public class PreloadChoicesOperation implements Runnable {
private HashSet<ChoiceCell> cellsToUpload;
private CompletionListener completionListener;
private boolean isRunning;
- Boolean isVROptional;
+ private Boolean isVROptional;
public PreloadChoicesOperation(ISdl internalInterface, FileManager fileManager, DisplayCapabilities displayCapabilities,
Boolean isVROptional, HashSet<ChoiceCell> cellsToPreload, CompletionListener listener){
@@ -102,15 +102,8 @@ public class PreloadChoicesOperation implements Runnable {
private void preloadCellArtworks(@NonNull final CompletionListener listener){
isRunning = true;
- List<SdlArtwork> artworksToUpload = new ArrayList<>(cellsToUpload.size());
- for (ChoiceCell cell : cellsToUpload){
- if (hasImageFieldOfName(ImageFieldName.choiceImage) && artworkNeedsUpload(cell.getArtwork())){
- artworksToUpload.add(cell.getArtwork());
- }
- if (hasImageFieldOfName(ImageFieldName.choiceSecondaryImage) && artworkNeedsUpload(cell.getSecondaryArtwork())){
- artworksToUpload.add(cell.getSecondaryArtwork());
- }
- }
+
+ List<SdlArtwork> artworksToUpload = artworksToUpload();
if (artworksToUpload.size() == 0){
DebugTool.logInfo("Choice Preload: No Choice Artworks to upload");
@@ -189,7 +182,7 @@ public class PreloadChoicesOperation implements Runnable {
}
}
- CreateInteractionChoiceSet choiceFromCell(ChoiceCell cell){
+ private CreateInteractionChoiceSet choiceFromCell(ChoiceCell cell){
List<String> vrCommands;
if (cell.getVoiceCommands() == null){
@@ -222,6 +215,19 @@ public class PreloadChoicesOperation implements Runnable {
// HELPERS
+ List<SdlArtwork> artworksToUpload(){
+ List<SdlArtwork> artworksToUpload = new ArrayList<>(cellsToUpload.size());
+ for (ChoiceCell cell : cellsToUpload){
+ if (hasImageFieldOfName(ImageFieldName.choiceImage) && artworkNeedsUpload(cell.getArtwork())){
+ artworksToUpload.add(cell.getArtwork());
+ }
+ if (hasImageFieldOfName(ImageFieldName.choiceSecondaryImage) && artworkNeedsUpload(cell.getSecondaryArtwork())){
+ artworksToUpload.add(cell.getSecondaryArtwork());
+ }
+ }
+ return artworksToUpload;
+ }
+
boolean artworkNeedsUpload(SdlArtwork artwork){
if (fileManager.get() != null){
return (artwork != null && !fileManager.get().hasUploadedFile(artwork) && !artwork.isStaticIcon());