Browse Source

Compose TV: setup the current tab in the AudioBrowserViewModel

merge-requests/2332/head
Nicolas Pomepuy 9 months ago
parent
commit
aba05c74b8
  1. 13
      application/television/src/main/java/org/videolan/television/ui/compose/composable/lists/AudioList.kt
  2. 2
      application/television/src/main/java/org/videolan/television/ui/compose/composable/lists/PlaylistsList.kt
  3. 2
      application/television/src/main/java/org/videolan/television/ui/compose/composable/lists/VideoList.kt

13
application/television/src/main/java/org/videolan/television/ui/compose/composable/lists/AudioList.kt

@ -160,18 +160,18 @@ fun AudioListScreen(onFocusExit: () -> Unit, onFocusEnter: () -> Unit, mainActiv
modifier = Modifier.fillMaxSize()
) { page ->
when (page) {
0 -> MediaList(MediaListEntry.ARTISTS)
1 -> MediaList(MediaListEntry.ALBUMS)
2 -> MediaList(MediaListEntry.TRACKS)
3 -> MediaList(MediaListEntry.GENRES)
4 -> MediaList(MediaListEntry.AUDIO_PLAYLISTS)
0 -> MediaList(MediaListEntry.ARTISTS, pagerState.currentPage)
1 -> MediaList(MediaListEntry.ALBUMS, pagerState.currentPage)
2 -> MediaList(MediaListEntry.TRACKS, pagerState.currentPage)
3 -> MediaList(MediaListEntry.GENRES, pagerState.currentPage)
4 -> MediaList(MediaListEntry.AUDIO_PLAYLISTS, pagerState.currentPage)
}
}
}
}
@Composable
fun MediaList(entry: MediaListEntry) {
fun MediaList(entry: MediaListEntry, index: Int) {
InvalidationComposable { invalidate ->
val context = LocalContext.current
@ -201,6 +201,7 @@ fun MediaList(entry: MediaListEntry) {
factory = AudioBrowserViewModel.Factory,
extras = extras,
)
audioBrowserViewModel.currentTab = index
provider = audioBrowserViewModel.getProvider(entry)
}
}

2
application/television/src/main/java/org/videolan/television/ui/compose/composable/lists/PlaylistsList.kt

@ -47,6 +47,6 @@ fun PlaylistsList(onFocusExit: () -> Unit, onFocusEnter: () -> Unit) {
}
}
.focusGroup(),) {
MediaList(MediaListEntry.ALL_PLAYLISTS)
MediaList(MediaListEntry.ALL_PLAYLISTS, -1)
}
}

2
application/television/src/main/java/org/videolan/television/ui/compose/composable/lists/VideoList.kt

@ -156,7 +156,7 @@ fun VideoListScreen(onFocusExit: () -> Unit, onFocusEnter: () -> Unit, mainActiv
) { page ->
when (page) {
0 -> VideoList()
1 -> MediaList(MediaListEntry.VIDEO_PLAYLISTS)
1 -> MediaList(MediaListEntry.VIDEO_PLAYLISTS, -1)
}
}
}

Loading…
Cancel
Save