fix(player): observe episode stream state

This commit is contained in:
tapframe 2026-08-04 20:50:16 +05:30
parent 3902edd7ee
commit ba2ec4a0e8
2 changed files with 13 additions and 1 deletions

View file

@ -70,7 +70,7 @@ internal class PlayerScreenRuntime(
var watchedUiState: WatchedUiState = WatchedUiState()
var watchProgressUiState: WatchProgressUiState = WatchProgressUiState()
var sourceStreamsState by mutableStateOf(StreamsUiState())
var episodeStreamsRepoState: StreamsUiState = StreamsUiState()
var episodeStreamsRepoState by mutableStateOf(StreamsUiState())
var metaUiState: MetaDetailsUiState = MetaDetailsUiState()
var addonsUiState: AddonsUiState = AddonsUiState()
var addonSubtitles: List<AddonSubtitle> = emptyList()

View file

@ -23,6 +23,18 @@ class PlayerScreenRuntimeStateTest {
assertEquals("addon-id", selectedFilter.value)
}
@Test
fun episodeFilterUpdatesInvalidateUiWithoutPlaybackUpdates() {
val runtime = PlayerScreenRuntime(testPlayerScreenArgs())
val selectedFilter = derivedStateOf { runtime.episodeStreamsRepoState.selectedFilter }
assertNull(selectedFilter.value)
runtime.episodeStreamsRepoState = StreamsUiState(selectedFilter = "addon-id")
assertEquals("addon-id", selectedFilter.value)
}
@Test
fun seekScrobbleUpdate_requiresActiveIncompletePlayback() {
assertTrue(