mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-08-09 00:17:59 +00:00
fix(player): update sourceStreamsState to use mutableStateOf
This commit is contained in:
parent
3c253b1b78
commit
d9eaca52e6
2 changed files with 61 additions and 1 deletions
|
|
@ -69,7 +69,7 @@ internal class PlayerScreenRuntime(
|
|||
var metaScreenSettingsUiState: MetaScreenSettingsUiState = MetaScreenSettingsUiState()
|
||||
var watchedUiState: WatchedUiState = WatchedUiState()
|
||||
var watchProgressUiState: WatchProgressUiState = WatchProgressUiState()
|
||||
var sourceStreamsState: StreamsUiState = StreamsUiState()
|
||||
var sourceStreamsState by mutableStateOf(StreamsUiState())
|
||||
var episodeStreamsRepoState: StreamsUiState = StreamsUiState()
|
||||
var metaUiState: MetaDetailsUiState = MetaDetailsUiState()
|
||||
var addonsUiState: AddonsUiState = AddonsUiState()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
package com.nuvio.app.features.player
|
||||
|
||||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.nuvio.app.features.streams.StreamsUiState
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertNull
|
||||
|
||||
class PlayerScreenRuntimeStateTest {
|
||||
|
||||
@Test
|
||||
fun sourceFilterUpdatesInvalidateUiWithoutPlaybackUpdates() {
|
||||
val runtime = PlayerScreenRuntime(testPlayerScreenArgs())
|
||||
val selectedFilter = derivedStateOf { runtime.sourceStreamsState.selectedFilter }
|
||||
|
||||
assertNull(selectedFilter.value)
|
||||
|
||||
runtime.sourceStreamsState = StreamsUiState(selectedFilter = "addon-id")
|
||||
|
||||
assertEquals("addon-id", selectedFilter.value)
|
||||
}
|
||||
|
||||
private fun testPlayerScreenArgs() = PlayerScreenArgs(
|
||||
profileId = 1,
|
||||
title = "Title",
|
||||
sourceUrl = "https://example.com/video.mp4",
|
||||
sourceAudioUrl = null,
|
||||
sourceHeaders = emptyMap(),
|
||||
sourceResponseHeaders = emptyMap(),
|
||||
streamType = null,
|
||||
providerName = "Provider",
|
||||
streamTitle = "Source",
|
||||
streamSubtitle = null,
|
||||
initialBingeGroup = null,
|
||||
pauseDescription = null,
|
||||
onBack = {},
|
||||
onOpenInExternalPlayer = null,
|
||||
onOpenExternalUrl = null,
|
||||
modifier = Modifier,
|
||||
logo = null,
|
||||
poster = null,
|
||||
background = null,
|
||||
seasonNumber = null,
|
||||
episodeNumber = null,
|
||||
episodeTitle = null,
|
||||
episodeThumbnail = null,
|
||||
contentType = "movie",
|
||||
videoId = "tt1234567",
|
||||
parentMetaId = "tt1234567",
|
||||
parentMetaType = "movie",
|
||||
providerAddonId = null,
|
||||
torrentInfoHash = null,
|
||||
torrentFileIdx = null,
|
||||
torrentFilename = null,
|
||||
torrentTrackers = emptyList(),
|
||||
initialPositionMs = 0L,
|
||||
initialProgressFraction = null,
|
||||
)
|
||||
}
|
||||
Loading…
Reference in a new issue