Skip to content

Commit 088dea7

Browse files
Mohammed MustafaMohammed Mustafa
authored andcommitted
feat: Calculate mediaTimeSpent based on current time
1 parent 4040469 commit 088dea7

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

media/src/main/java/com/mparticle/media/MediaSession.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ class MediaSession protected constructor(builder: Builder) {
8585
var mediaSessionEndTimestamp: Long //Timestamp updated when any event is logged
8686
private set
8787
val mediaTimeSpent: Double
88-
get() { //total seconds between media session start and end time
89-
return ((this.mediaSessionEndTimestamp - mediaSessionStartTimestamp) / 1000).toDouble()
88+
get() { //total seconds between media session start and current timestamp
89+
return ((System.currentTimeMillis() - mediaSessionStartTimestamp) / 1000).toDouble()
9090
}
9191
val mediaContentTimeSpent: Double
9292
get() { //total seconds spent playing content

media/src/test/java/com/mparticle/MediaSessionTest.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,29 @@ class MediaSessionTest {
539539
}
540540
}
541541

542+
@Test
543+
fun testMediaTimeSpent() {
544+
val mparticle = MockMParticle()
545+
val mediaSession = MediaSession.builder(mparticle) {
546+
title = "hello"
547+
mediaContentId ="123"
548+
duration =1000
549+
}
550+
551+
// logPlay is triggered to start media content time tracking.
552+
mediaSession.logPlay()
553+
// 1s delay added to account for the time spent on media content.
554+
Thread.sleep(1000)
555+
mediaSession.logPause()
556+
// Another 1s delay added after logPause is triggered to
557+
// account for time spent on media session (total = 2s).
558+
Thread.sleep(1000)
559+
560+
// mediaTimeSpent should be = 2s even though the last media event logged was 1s ago
561+
val testTimeSpent = mediaSession.mediaTimeSpent
562+
assertEquals(testTimeSpent, 2.0)
563+
}
564+
542565
@Test
543566
fun testLogMediaContentEnd() {
544567
val mparticle = MockMParticle()

0 commit comments

Comments
 (0)