feat(tv): disable unsupported tracks in dialog

This commit is contained in:
Jarne Demeulemeester 2023-12-31 21:32:37 +01:00
parent 85f48b9abc
commit 92f1cf7eee
No known key found for this signature in database
GPG key ID: 1E5C6AFBD622E9F5
3 changed files with 18 additions and 9 deletions

View file

@ -277,17 +277,13 @@ private fun getTracks(player: Player, type: Int): ArrayList<Track> {
if (group.type == type) {
val format = group.mediaTrackGroup.getFormat(0)
val label = format.label
val language = Locale(format.language.toString()).displayLanguage
val codec = format.codecs
val selected = group.isSelected
val track = Track(
id = groupIndex,
label = label,
language = language,
codec = codec,
selected = selected,
label = format.label,
language = Locale(format.language.toString()).displayLanguage,
codec = format.codecs,
selected = group.isSelected,
supported = group.isSupported
)
tracks.add(track)

View file

@ -58,10 +58,12 @@ fun VideoPlayerTrackSelectorDialog(
onClick = {
resultNavigator.navigateBack(result = track.id)
},
enabled = track.supported,
shape = ClickableSurfaceDefaults.shape(shape = RoundedCornerShape(4.dp)),
colors = ClickableSurfaceDefaults.colors(
containerColor = Color.Transparent,
focusedContainerColor = Color.Transparent,
disabledContainerColor = Color.Transparent,
),
border = ClickableSurfaceDefaults.border(
focusedBorder = Border(
@ -105,6 +107,7 @@ private fun VideoPlayerTrackSelectorDialogPreview() {
language = "English",
codec = "flac",
selected = true,
supported = true
),
Track(
id = 0,
@ -112,6 +115,15 @@ private fun VideoPlayerTrackSelectorDialogPreview() {
language = "Japanese",
codec = "flac",
selected = false,
supported = true,
),
Track(
id = 0,
label = null,
language = "English",
codec = "truehd",
selected = false,
supported = false,
),
),
resultNavigator = EmptyResultBackNavigator(),

View file

@ -10,4 +10,5 @@ data class Track(
val language: String?,
val codec: String?,
val selected: Boolean,
val supported: Boolean,
) : Parcelable