@@ -17,6 +17,7 @@ import android.view.KeyEvent
1717import android.view.LayoutInflater
1818import android.view.View
1919import android.view.ViewGroup
20+ import android.view.ViewPropertyAnimator
2021import android.view.WindowInsets
2122import android.widget.ImageView
2223import android.widget.SeekBar
@@ -74,6 +75,7 @@ import org.akanework.gramophone.logic.GramophonePlaybackService
7475import org.akanework.gramophone.logic.clone
7576import org.akanework.gramophone.logic.dpToPx
7677import org.akanework.gramophone.logic.fadInAnimation
78+ import org.akanework.gramophone.logic.fadOutAnimation
7779import org.akanework.gramophone.logic.getAudioFormat
7880import org.akanework.gramophone.logic.getBooleanStrict
7981import org.akanework.gramophone.logic.getFile
@@ -657,12 +659,24 @@ class FullBottomSheet
657659 }
658660
659661 private fun updateQualityIndicators (info : AudioFormatInfo ? ) {
660- if (info == null ) {
661- bottomSheetFullQualityDetails.visibility = View .GONE
662- return
662+ (bottomSheetFullQualityDetails.getTag(R .id.fade_in_animation) as ViewPropertyAnimator ? )?.cancel()
663+ (bottomSheetFullQualityDetails.getTag(R .id.fade_out_animation) as ViewPropertyAnimator ? )?.cancel()
664+ if (info == null && bottomSheetFullQualityDetails.visibility == INVISIBLE ) return
665+ val oldInfo = (bottomSheetFullQualityDetails.getTag(R .id.quality_details) as AudioFormatInfo ? )
666+ if (oldInfo != null )
667+ applyQualityInfo(oldInfo)
668+ if (oldInfo != null || info != null )
669+ bottomSheetFullQualityDetails.setTag(R .id.quality_details, info)
670+ bottomSheetFullQualityDetails.fadOutAnimation(300 ) {
671+ bottomSheetFullQualityDetails.setTag(R .id.quality_details, null )
672+ if (info == null )
673+ return @fadOutAnimation
674+ applyQualityInfo(info)
675+ bottomSheetFullQualityDetails.fadInAnimation(300 )
663676 }
664- bottomSheetFullQualityDetails.visibility = View . VISIBLE
677+ }
665678
679+ private fun applyQualityInfo (info : AudioFormatInfo ) {
666680 val icon = when (info.spatialFormat) {
667681 SpatialFormat .SURROUND_5_0 ,
668682 SpatialFormat .SURROUND_5_1 ,
0 commit comments