diff --git a/media/src/main/java/com/mparticle/media/MediaSession.kt b/media/src/main/java/com/mparticle/media/MediaSession.kt index dd720fa..7eb875b 100644 --- a/media/src/main/java/com/mparticle/media/MediaSession.kt +++ b/media/src/main/java/com/mparticle/media/MediaSession.kt @@ -545,7 +545,7 @@ class MediaSession protected constructor(builder: Builder) { sessionId?.let { customAttributes[mediaSessionIdKey] = it } - customAttributes[mediaContentId] = mediaContentId + customAttributes[contentIdKey] = mediaContentId customAttributes[segmentIndexKey] = segmentSummary.index.toString() segmentSummary.title?.let { customAttributes[segmentTitleKey] = it diff --git a/media/src/test/java/com/mparticle/MediaSessionTest.kt b/media/src/test/java/com/mparticle/MediaSessionTest.kt index 1e0e352..538f59d 100644 --- a/media/src/test/java/com/mparticle/MediaSessionTest.kt +++ b/media/src/test/java/com/mparticle/MediaSessionTest.kt @@ -1,5 +1,6 @@ package com.mparticle +import com.mparticle.media.MediaSegmentSummary import com.mparticle.media.MediaSession import com.mparticle.media.events.* import com.mparticle.testutils.RandomUtils @@ -464,6 +465,64 @@ class MediaSessionTest { events[9].assertTrue { it.eventName == MediaEventName.AD_BREAK_END} } + @Test + fun testLogSegmentSummary() { + val mparticle = MockMParticle() + val mediaSession = MediaSession.builder(mparticle) { + title = "hello" + mediaContentId ="123" + duration =1000 + } + + val events = mutableListOf() + mediaSession.mediaEventListener = { event -> + events.add(event) + } + + mediaSession.logSegmentStart{} + + mediaSession.logSegmentEnd() + assertEquals(2, events.size) + events.forEach { + it.mediaContent.apply { + assertEquals("hello", name) + assertEquals("123", contentId) + assertEquals(1000L, duration) + } + } + assertNotNull(mparticle.loggedEvents[2].customAttributes) + assertNotNull(mparticle.loggedEvents[2].customAttributes?.get("content_id")) + assertEquals("123",mparticle.loggedEvents[2].customAttributes?.get("content_id")) + } + + @Test + fun testLogSegmentSummary_When_Content_ID_IS_NULL() { + val mparticle = MockMParticle() + val mediaSession = MediaSession.builder(mparticle) { + title = "hello" + duration =1000 + } + + val events = mutableListOf() + mediaSession.mediaEventListener = { event -> + events.add(event) + } + + mediaSession.logSegmentStart{} + + mediaSession.logSegmentEnd() + assertEquals(2, events.size) + events.forEach { + it.mediaContent.apply { + assertEquals("hello", name) + assertEquals(1000L, duration) + } + } + assertNotNull(mparticle.loggedEvents[2].customAttributes) + assertNotNull(mparticle.loggedEvents[2].customAttributes?.get("content_id")) + assertEquals("",mparticle.loggedEvents[2].customAttributes?.get("content_id")) + } + fun BaseEvent.isPlayheadEvent(): Boolean { return if (this is MediaEvent) { eventName == MediaEventName.UPDATE_PLAYHEAD_POSITION