fix: audio track names scrambled
This commit is contained in:
parent
7fdd8d5d6e
commit
9d13920f63
2 changed files with 13 additions and 7 deletions
|
@ -227,7 +227,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
|
||||||
|
|
||||||
private var downloadId: String? = null
|
private var downloadId: String? = null
|
||||||
private var hasExtSubtitles = false
|
private var hasExtSubtitles = false
|
||||||
private var audioLanguages = mutableListOf<String>()
|
private var audioLanguages = mutableListOf<Pair<String,String>>()
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
var initialized = false
|
var initialized = false
|
||||||
|
@ -1548,8 +1548,9 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
|
||||||
val audioMediaItem = mutableListOf<MediaItem>()
|
val audioMediaItem = mutableListOf<MediaItem>()
|
||||||
audioLanguages.clear()
|
audioLanguages.clear()
|
||||||
ext.audioTracks.forEach {
|
ext.audioTracks.forEach {
|
||||||
val code = LanguageMapper.getLanguageCode(it.lang)
|
var code = LanguageMapper.getLanguageCode(it.lang)
|
||||||
audioLanguages.add(code)
|
if (code == "all") code = "un"
|
||||||
|
audioLanguages.add(Pair(it.lang, code))
|
||||||
audioMediaItem.add(
|
audioMediaItem.add(
|
||||||
MediaItem.Builder()
|
MediaItem.Builder()
|
||||||
.setUri(it.url)
|
.setUri(it.url)
|
||||||
|
@ -1560,7 +1561,7 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL
|
||||||
}
|
}
|
||||||
|
|
||||||
val audioSources = audioMediaItem.map { mediaItem ->
|
val audioSources = audioMediaItem.map { mediaItem ->
|
||||||
if (mediaItem.localConfiguration?.uri.toString().endsWith(".m3u8")) {
|
if (mediaItem.localConfiguration?.uri.toString().contains(".m3u8")) {
|
||||||
HlsMediaSource.Factory(cacheFactory).createMediaSource(mediaItem)
|
HlsMediaSource.Factory(cacheFactory).createMediaSource(mediaItem)
|
||||||
} else {
|
} else {
|
||||||
DefaultMediaSourceFactory(cacheFactory).createMediaSource(mediaItem)
|
DefaultMediaSourceFactory(cacheFactory).createMediaSource(mediaItem)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package ani.dantotsu.media.anime
|
package ani.dantotsu.media.anime
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -22,7 +23,7 @@ class TrackGroupDialogFragment(
|
||||||
private var instance: ExoplayerView,
|
private var instance: ExoplayerView,
|
||||||
private var trackGroups: ArrayList<Tracks.Group>,
|
private var trackGroups: ArrayList<Tracks.Group>,
|
||||||
private var type: @TrackType Int,
|
private var type: @TrackType Int,
|
||||||
private var overrideTrackNames: List<String>? = null
|
private var overrideTrackNames: List<Pair<String, String>>? = null
|
||||||
) : BottomSheetDialogFragment() {
|
) : BottomSheetDialogFragment() {
|
||||||
private var _binding: BottomSheetSubtitlesBinding? = null
|
private var _binding: BottomSheetSubtitlesBinding? = null
|
||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
|
@ -57,12 +58,16 @@ class TrackGroupDialogFragment(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@SuppressLint("SetTextI18n")
|
||||||
@OptIn(UnstableApi::class)
|
@OptIn(UnstableApi::class)
|
||||||
override fun onBindViewHolder(holder: StreamViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: StreamViewHolder, position: Int) {
|
||||||
val binding = holder.binding
|
val binding = holder.binding
|
||||||
trackGroups[position].let { trackGroup ->
|
trackGroups[position].let { trackGroup ->
|
||||||
when (val language = overrideTrackNames?.getOrNull(position)
|
if (overrideTrackNames?.getOrNull(position - (trackGroups.size - (overrideTrackNames?.size?:0))) != null) {
|
||||||
?: trackGroup.getTrackFormat(0).language?.lowercase()) {
|
val pair = overrideTrackNames!![position - (trackGroups.size - overrideTrackNames!!.size)]
|
||||||
|
binding.subtitleTitle.text =
|
||||||
|
"[${pair.second}] ${pair.first}"
|
||||||
|
} else when (val language = trackGroup.getTrackFormat(0).language?.lowercase()) {
|
||||||
null -> {
|
null -> {
|
||||||
binding.subtitleTitle.text =
|
binding.subtitleTitle.text =
|
||||||
getString(R.string.unknown_track, "Track $position")
|
getString(R.string.unknown_track, "Track $position")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue