@@ -512,7 +512,7 @@ class GeneratorPlayer : FullScreenPlayer() {
512512 }
513513 // setEpisodes(viewModel.getAllMeta() ?: emptyList())
514514 isActive = true
515- setPlayerDimen( null )
515+ updatePlayerInfo(reset = true )
516516 setTitle()
517517 if (! sameEpisode)
518518 hasRequestedStamps = false
@@ -1698,7 +1698,7 @@ class GeneratorPlayer : FullScreenPlayer() {
16981698
16991699 return sortSubs(subtitles).firstOrNull { it.matchesLanguageCode(langCode) }
17001700 }
1701-
1701+
17021702 private fun autoSelectFromSettings (): Boolean {
17031703 // auto select subtitle based on settings
17041704 val langCode = preferredAutoSelectSubtitles
@@ -1831,33 +1831,26 @@ class GeneratorPlayer : FullScreenPlayer() {
18311831 playerBinding?.offlinePin?.isVisible = lastUsedGenerator is DownloadFileGenerator
18321832 }
18331833
1834- @SuppressLint(" SetTextI18n" )
1835- fun setPlayerDimen (widthHeight : Pair <Int , Int >? ) {
1836- val resolution = widthHeight?.let { " ${it.first} x${it.second} " }
1837- val name = currentSelectedLink?.first?.name ? : currentSelectedLink?.second?.name
1838- val title = getHeaderName()
1839-
1840- val result = listOfNotNull(
1841- title?.takeIf { showTitle && it.isNotBlank() },
1842- name?.takeIf { showName && it.isNotBlank() },
1843- resolution?.takeIf { showResolution && it.isNotBlank() },
1844- ).joinToString(" - " )
1845-
1846- playerBinding?.playerVideoTitleRez?.apply {
1847- text = result
1848- isVisible = result.isNotBlank()
1834+ /* *
1835+ * Show the current playback information (e.g. resolution, codec) in the player info text view.
1836+ *
1837+ * If [reset] is set to `true`, the text view will be cleared instead.
1838+ */
1839+ private fun updatePlayerInfo (reset : Boolean = false) {
1840+ if (reset) {
1841+ playerBinding?.playerVideoInfo?.text = " "
1842+ playerBinding?.playerVideoInfo?.isGone = true
1843+ return
18491844 }
1850- }
18511845
1852- private fun updatePlayerInfo () {
18531846 val tracks = player.getVideoTracks()
18541847
18551848 val videoTrack = tracks.currentVideoTrack
18561849 val audioTrack = tracks.currentAudioTrack
18571850
1858- val ctx = context ? : return
1859- val prefs = PreferenceManager .getDefaultSharedPreferences(ctx)
1860- showMediaInfo = prefs.getBoolean(ctx.getString( R .string.show_media_info_key), false )
1851+ val resolution = videoTrack?. let { " ${it.width} x ${it.height} " }
1852+ val source = currentSelectedLink?.first?.name ? : currentSelectedLink?.second?.name
1853+ val headerName = getHeaderName().orEmpty( )
18611854
18621855 val videoCodec = videoTrack?.sampleMimeType?.substringAfterLast(' /' )?.uppercase()
18631856 val audioCodec = audioTrack?.sampleMimeType?.substringAfterLast(' /' )?.uppercase()
@@ -1866,17 +1859,22 @@ class GeneratorPlayer : FullScreenPlayer() {
18661859 fromTagToLanguageName(audioTrack?.language)?.let { " [$it ]" }
18671860 ).joinToString(" " )
18681861
1869- val stats = arrayOf(videoCodec, audioCodec, language).filter { ! it.isNullOrBlank() }.joinToString(" • " )
1862+ val stats = listOfNotNull(
1863+ source.takeIf { showTitle },
1864+ headerName.takeIf { showName },
1865+ resolution.takeIf { showResolution }
1866+ ) + arrayOf(videoCodec, audioCodec, language)
1867+ .takeIf { showMediaInfo }.orEmpty()
18701868
18711869 playerBinding?.playerVideoInfo?.apply {
1872- text = stats
1873- isVisible = showMediaInfo && stats.isNotBlank ()
1870+ text = stats.filter { ! it.isNullOrBlank() }.joinToString( " • " )
1871+ isVisible = text.isNotEmpty ()
18741872 }
18751873 }
18761874
18771875 override fun playerDimensionsLoaded (width : Int , height : Int ) {
18781876 super .playerDimensionsLoaded(width, height)
1879- setPlayerDimen(width to height )
1877+ updatePlayerInfo( )
18801878 }
18811879
18821880 private fun unwrapBundle (savedInstanceState : Bundle ? ) {
@@ -2066,6 +2064,7 @@ class GeneratorPlayer : FullScreenPlayer() {
20662064
20672065 context?.let { ctx ->
20682066 val settingsManager = PreferenceManager .getDefaultSharedPreferences(ctx)
2067+ showTitle = settingsManager.getBoolean(ctx.getString(R .string.show_title_key), true )
20692068 showName = settingsManager.getBoolean(ctx.getString(R .string.show_name_key), true )
20702069 showResolution = settingsManager.getBoolean(ctx.getString(R .string.show_resolution_key), true )
20712070 showMediaInfo = settingsManager.getBoolean(ctx.getString(R .string.show_media_info_key), false )
0 commit comments