diff --git a/src/com/connectsdk/core/MediaInfo.java b/src/com/connectsdk/core/MediaInfo.java index 2c303ce1..35f09031 100644 --- a/src/com/connectsdk/core/MediaInfo.java +++ b/src/com/connectsdk/core/MediaInfo.java @@ -198,9 +198,23 @@ public void setDescription(String description) { } /** + * Gets icon image + * @return image, can be null + */ + public ImageInfo getIconImage() { + if (allImages == null || allImages.isEmpty()) { + return null; + } + return allImages.get(0); + } + + /** + * This method is deprecated use `getIconImage()` instead + * * Gets list of ImageInfo objects for images representing a media (ex. icon, poster). * Where first ([0]) is icon image, and second ([1]) is poster image. */ + @Deprecated public List getImages() { return allImages; } diff --git a/test/src/com/connectsdk/core/MediaInfoTest.java b/test/src/com/connectsdk/core/MediaInfoTest.java index a24b40b5..fc1b2b18 100644 --- a/test/src/com/connectsdk/core/MediaInfoTest.java +++ b/test/src/com/connectsdk/core/MediaInfoTest.java @@ -26,6 +26,8 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; +import java.util.ArrayList; + @RunWith(RobolectricTestRunner.class) @Config(manifest = Config.NONE) public class MediaInfoTest { @@ -43,6 +45,7 @@ public void testMediaInfoBuilderWithRequiredParameters() { Assert.assertNull(mediaInfo.getImages()); Assert.assertNull(mediaInfo.getSubtitleInfo()); Assert.assertNull(mediaInfo.getTitle()); + Assert.assertNull(mediaInfo.getIconImage()); } @Test @@ -65,9 +68,24 @@ public void testMediaInfoBuilderWithAllParameters() { Assert.assertEquals(url, mediaInfo.getUrl()); Assert.assertEquals(mimeType, mediaInfo.getMimeType()); Assert.assertEquals(description, mediaInfo.getDescription()); + Assert.assertEquals(iconUrl, mediaInfo.getIconImage().getUrl()); Assert.assertEquals(iconUrl, mediaInfo.getImages().get(0).getUrl()); Assert.assertEquals(1, mediaInfo.getImages().size()); Assert.assertEquals(subtitle, mediaInfo.getSubtitleInfo()); Assert.assertEquals(title, mediaInfo.getTitle()); } + + @Test + public void testGetIconImageShouldReturnNullForEmptyImageList() { + MediaInfo mediaInfo = new MediaInfo.Builder("", "").build(); + mediaInfo.setImages(new ArrayList()); + Assert.assertNull(mediaInfo.getIconImage()); + } + + @Test + public void testAddImagesWithNullArgumentShouldDoNothing() { + MediaInfo mediaInfo = new MediaInfo.Builder("", "").build(); + mediaInfo.addImages((ImageInfo[]) null); + Assert.assertNull(mediaInfo.getImages()); + } }