Skip to content

Commit 794bb54

Browse files
authored
Avoid send null current chapter when not needed (#587)
1 parent a61594d commit 794bb54

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

pillarbox-player/src/main/java/ch/srgssr/pillarbox/player/tracker/TimeRangeTracker.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,10 @@ private class ChapterCreditsTracker<T : TimeRange>(
137137
val timeRange = message as? T ?: return@Target
138138
when (messageType) {
139139
TYPE_ENTER -> currentTimeRange = timeRange
140-
TYPE_EXIT -> currentTimeRange = null
140+
TYPE_EXIT -> {
141+
val nextTimeRange = timeRanges.firstOrNullAtPosition(player.currentPosition)
142+
if (nextTimeRange == null) currentTimeRange = null
143+
}
141144
}
142145
}
143146
val playerMessages = mutableListOf<PlayerMessage>()

pillarbox-player/src/test/java/ch/srgssr/pillarbox/player/tracker/ChapterTrackerTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,11 @@ class ChapterTrackerTest {
6868
player.addMediaItem(ChapterAssetLoader.MEDIA_ITEM)
6969
TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED)
7070

71-
val expectedChapters = listOf(ChapterAssetLoader.CHAPTER_1, null, ChapterAssetLoader.CHAPTER_2, null)
71+
val expectedChapters = listOf(ChapterAssetLoader.CHAPTER_1, ChapterAssetLoader.CHAPTER_2, null)
7272
val receivedChapters = mutableListOf<Chapter?>()
7373
verify {
7474
listener.onChapterChanged(captureNullable(receivedChapters))
7575
}
76-
assertEquals(expectedChapters.size, receivedChapters.size)
7776
assertEquals(expectedChapters, receivedChapters)
7877
}
7978

0 commit comments

Comments
 (0)