Merge Wholphin v1.1.0 while preserving Wolfskin features #27
2 changed files with 44 additions and 0 deletions
|
|
@ -717,6 +717,7 @@ class PlaybackViewModel
|
||||||
api.videosApi.getVideoStreamUrl(
|
api.videosApi.getVideoStreamUrl(
|
||||||
itemId = itemId,
|
itemId = itemId,
|
||||||
mediaSourceId = source.id,
|
mediaSourceId = source.id,
|
||||||
|
liveStreamId = source.liveStreamId,
|
||||||
static = true,
|
static = true,
|
||||||
tag = source.eTag,
|
tag = source.eTag,
|
||||||
playSessionId = response.playSessionId,
|
playSessionId = response.playSessionId,
|
||||||
|
|
|
||||||
|
|
@ -292,6 +292,49 @@ class PlaybackViewModelTests {
|
||||||
return viewModel
|
return viewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `Direct play includes the opened live stream ID`() =
|
||||||
|
runTest(testDispatcher) {
|
||||||
|
setupPreferences { cinemaMode = false }
|
||||||
|
val liveStreamId = "opened-live-stream"
|
||||||
|
val liveSource = mediaSource.copy(liveStreamId = liveStreamId)
|
||||||
|
coEvery { mockUserLibraryApi.getItem(movie.id) } returns successResponse(movie)
|
||||||
|
coEvery { mockMediaInfoApi.getPostedPlaybackInfo(any(), any()) } returns
|
||||||
|
successResponse(
|
||||||
|
PlaybackInfoResponse(
|
||||||
|
mediaSources = listOf(liveSource),
|
||||||
|
playSessionId = playSessionId,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
every {
|
||||||
|
mockVideosApi.getVideoStreamUrl(
|
||||||
|
itemId = movie.id,
|
||||||
|
mediaSourceId = liveSource.id,
|
||||||
|
liveStreamId = liveSource.liveStreamId,
|
||||||
|
static = true,
|
||||||
|
tag = liveSource.eTag,
|
||||||
|
playSessionId = playSessionId,
|
||||||
|
)
|
||||||
|
} returns videoStreamUrl
|
||||||
|
|
||||||
|
createViewModel(Destination.Playback(movie.id, 0L))
|
||||||
|
|
||||||
|
val mediaItem = slot<MediaItem>()
|
||||||
|
verify(exactly = 1) { mockPlayer.setMediaItem(capture(mediaItem), any<Long>()) }
|
||||||
|
val playbackUri = mediaItem.captured.localConfiguration?.uri
|
||||||
|
Assert.assertEquals(videoStreamUrl, playbackUri.toString())
|
||||||
|
verify(exactly = 1) {
|
||||||
|
mockVideosApi.getVideoStreamUrl(
|
||||||
|
itemId = movie.id,
|
||||||
|
mediaSourceId = liveSource.id,
|
||||||
|
liveStreamId = liveStreamId,
|
||||||
|
static = true,
|
||||||
|
tag = liveSource.eTag,
|
||||||
|
playSessionId = playSessionId,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `Play intro first`() =
|
fun `Play intro first`() =
|
||||||
runTest(testDispatcher) {
|
runTest(testDispatcher) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue