diff options
author | BrettyWhite <geekman3454@protonmail.com> | 2019-06-12 11:10:03 -0400 |
---|---|---|
committer | BrettyWhite <geekman3454@protonmail.com> | 2019-06-12 11:10:03 -0400 |
commit | 92551f70057786c96ebc3ba6fcb6e1933c03659b (patch) | |
tree | 3f9ed64096bd0d80bd47534bbc5fba79b7167f23 | |
parent | bba47b7880aadd90b4a6a64162d8d931c705c9df (diff) | |
download | sdl_android-92551f70057786c96ebc3ba6fcb6e1933c03659b.tar.gz |
preload choices tests
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()); |