@@ -514,7 +514,7 @@ class GeneratorPlayer : FullScreenPlayer() {
514514 }
515515 // setEpisodes(viewModel.getAllMeta() ?: emptyList())
516516 isActive = true
517- setPlayerDimen( null )
517+ updatePlayerInfo(reset = true )
518518 setTitle()
519519 if (! sameEpisode)
520520 hasRequestedStamps = false
@@ -1679,7 +1679,7 @@ class GeneratorPlayer : FullScreenPlayer() {
16791679
16801680 return sortSubs(subtitles).firstOrNull { it.matchesLanguageCode(langCode) }
16811681 }
1682-
1682+
16831683 private fun autoSelectFromSettings (): Boolean {
16841684 // auto select subtitle based on settings
16851685 val langCode = preferredAutoSelectSubtitles
@@ -1812,33 +1812,26 @@ class GeneratorPlayer : FullScreenPlayer() {
18121812 playerBinding?.offlinePin?.isVisible = lastUsedGenerator is DownloadFileGenerator
18131813 }
18141814
1815- @SuppressLint(" SetTextI18n" )
1816- fun setPlayerDimen (widthHeight : Pair <Int , Int >? ) {
1817- val resolution = widthHeight?.let { " ${it.first} x${it.second} " }
1818- val name = currentSelectedLink?.first?.name ? : currentSelectedLink?.second?.name
1819- val title = getHeaderName()
1820-
1821- val result = listOfNotNull(
1822- title?.takeIf { showTitle && it.isNotBlank() },
1823- name?.takeIf { showName && it.isNotBlank() },
1824- resolution?.takeIf { showResolution && it.isNotBlank() },
1825- ).joinToString(" - " )
1826-
1827- playerBinding?.playerVideoTitleRez?.apply {
1828- text = result
1829- isVisible = result.isNotBlank()
1815+ /* *
1816+ * Show the current playback information (e.g. resolution, codec) in the player info text view.
1817+ *
1818+ * If [reset] is set to `true`, the text view will be cleared instead.
1819+ */
1820+ private fun updatePlayerInfo (reset : Boolean = false) {
1821+ if (reset) {
1822+ playerBinding?.playerVideoInfo?.text = " "
1823+ playerBinding?.playerVideoInfo?.isGone = true
1824+ return
18301825 }
1831- }
18321826
1833- private fun updatePlayerInfo () {
18341827 val tracks = player.getVideoTracks()
18351828
18361829 val videoTrack = tracks.currentVideoTrack
18371830 val audioTrack = tracks.currentAudioTrack
18381831
1839- val ctx = context ? : return
1840- val prefs = PreferenceManager .getDefaultSharedPreferences(ctx)
1841- showMediaInfo = prefs.getBoolean(ctx.getString( R .string.show_media_info_key), false )
1832+ val resolution = videoTrack?. let { " ${it.width} x ${it.height} " }
1833+ val source = currentSelectedLink?.first?.name ? : currentSelectedLink?.second?.name
1834+ val headerName = getHeaderName().orEmpty( )
18421835
18431836 val videoCodec = videoTrack?.sampleMimeType?.substringAfterLast(' /' )?.uppercase()
18441837 val audioCodec = audioTrack?.sampleMimeType?.substringAfterLast(' /' )?.uppercase()
@@ -1847,17 +1840,22 @@ class GeneratorPlayer : FullScreenPlayer() {
18471840 fromTagToLanguageName(audioTrack?.language)?.let { " [$it ]" }
18481841 ).joinToString(" " )
18491842
1850- val stats = arrayOf(videoCodec, audioCodec, language).filter { ! it.isNullOrBlank() }.joinToString(" • " )
1843+ val stats = listOfNotNull(
1844+ source.takeIf { showTitle },
1845+ headerName.takeIf { showName },
1846+ resolution.takeIf { showResolution }
1847+ ) + arrayOf(videoCodec, audioCodec, language)
1848+ .takeIf { showMediaInfo }.orEmpty()
18511849
18521850 playerBinding?.playerVideoInfo?.apply {
1853- text = stats
1854- isVisible = showMediaInfo && stats.isNotBlank ()
1851+ text = stats.filter { ! it.isNullOrBlank() }.joinToString( " • " )
1852+ isVisible = text.isNotEmpty ()
18551853 }
18561854 }
18571855
18581856 override fun playerDimensionsLoaded (width : Int , height : Int ) {
18591857 super .playerDimensionsLoaded(width, height)
1860- setPlayerDimen(width to height )
1858+ updatePlayerInfo( )
18611859 }
18621860
18631861 private fun unwrapBundle (savedInstanceState : Bundle ? ) {
@@ -2047,6 +2045,7 @@ class GeneratorPlayer : FullScreenPlayer() {
20472045
20482046 context?.let { ctx ->
20492047 val settingsManager = PreferenceManager .getDefaultSharedPreferences(ctx)
2048+ showTitle = settingsManager.getBoolean(ctx.getString(R .string.show_title_key), true )
20502049 showName = settingsManager.getBoolean(ctx.getString(R .string.show_name_key), true )
20512050 showResolution = settingsManager.getBoolean(ctx.getString(R .string.show_resolution_key), true )
20522051 showMediaInfo = settingsManager.getBoolean(ctx.getString(R .string.show_media_info_key), false )
0 commit comments