feat(tv): disable unsupported tracks in dialog
This commit is contained in:
parent
85f48b9abc
commit
92f1cf7eee
3 changed files with 18 additions and 9 deletions
|
@ -277,17 +277,13 @@ private fun getTracks(player: Player, type: Int): ArrayList<Track> {
|
||||||
if (group.type == type) {
|
if (group.type == type) {
|
||||||
val format = group.mediaTrackGroup.getFormat(0)
|
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(
|
val track = Track(
|
||||||
id = groupIndex,
|
id = groupIndex,
|
||||||
label = label,
|
label = format.label,
|
||||||
language = language,
|
language = Locale(format.language.toString()).displayLanguage,
|
||||||
codec = codec,
|
codec = format.codecs,
|
||||||
selected = selected,
|
selected = group.isSelected,
|
||||||
|
supported = group.isSupported
|
||||||
)
|
)
|
||||||
|
|
||||||
tracks.add(track)
|
tracks.add(track)
|
||||||
|
|
|
@ -58,10 +58,12 @@ fun VideoPlayerTrackSelectorDialog(
|
||||||
onClick = {
|
onClick = {
|
||||||
resultNavigator.navigateBack(result = track.id)
|
resultNavigator.navigateBack(result = track.id)
|
||||||
},
|
},
|
||||||
|
enabled = track.supported,
|
||||||
shape = ClickableSurfaceDefaults.shape(shape = RoundedCornerShape(4.dp)),
|
shape = ClickableSurfaceDefaults.shape(shape = RoundedCornerShape(4.dp)),
|
||||||
colors = ClickableSurfaceDefaults.colors(
|
colors = ClickableSurfaceDefaults.colors(
|
||||||
containerColor = Color.Transparent,
|
containerColor = Color.Transparent,
|
||||||
focusedContainerColor = Color.Transparent,
|
focusedContainerColor = Color.Transparent,
|
||||||
|
disabledContainerColor = Color.Transparent,
|
||||||
),
|
),
|
||||||
border = ClickableSurfaceDefaults.border(
|
border = ClickableSurfaceDefaults.border(
|
||||||
focusedBorder = Border(
|
focusedBorder = Border(
|
||||||
|
@ -105,6 +107,7 @@ private fun VideoPlayerTrackSelectorDialogPreview() {
|
||||||
language = "English",
|
language = "English",
|
||||||
codec = "flac",
|
codec = "flac",
|
||||||
selected = true,
|
selected = true,
|
||||||
|
supported = true
|
||||||
),
|
),
|
||||||
Track(
|
Track(
|
||||||
id = 0,
|
id = 0,
|
||||||
|
@ -112,6 +115,15 @@ private fun VideoPlayerTrackSelectorDialogPreview() {
|
||||||
language = "Japanese",
|
language = "Japanese",
|
||||||
codec = "flac",
|
codec = "flac",
|
||||||
selected = false,
|
selected = false,
|
||||||
|
supported = true,
|
||||||
|
),
|
||||||
|
Track(
|
||||||
|
id = 0,
|
||||||
|
label = null,
|
||||||
|
language = "English",
|
||||||
|
codec = "truehd",
|
||||||
|
selected = false,
|
||||||
|
supported = false,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
resultNavigator = EmptyResultBackNavigator(),
|
resultNavigator = EmptyResultBackNavigator(),
|
||||||
|
|
|
@ -10,4 +10,5 @@ data class Track(
|
||||||
val language: String?,
|
val language: String?,
|
||||||
val codec: String?,
|
val codec: String?,
|
||||||
val selected: Boolean,
|
val selected: Boolean,
|
||||||
|
val supported: Boolean,
|
||||||
) : Parcelable
|
) : Parcelable
|
||||||
|
|
Loading…
Reference in a new issue