Skip to content

Commit b15a76e

Browse files
committed
fix artist page, codec info fade
1 parent a3f11ea commit b15a76e

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

app/src/main/kotlin/org/akanework/gramophone/logic/utils/AudioFormatDetector.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,14 @@ class AudioFormatDetector {
4646
val isLossless: Boolean,
4747
val sourceChannels: Int,
4848
val deviceChannels: Int,
49-
val isDownMixing: Boolean,
5049
val bitrate: Int?,
5150
val mimeType: String?,
5251
val spatialFormat: SpatialFormat,
5352
val encoderPadding: Int?,
5453
val encoderDelay: Int?
5554
) : Parcelable {
55+
val isDownMixing: Boolean
56+
get() = sourceChannels > deviceChannels
5657
override fun toString(): String {
5758
val outputStr = if (isDownMixing) {
5859
"(Down mixed to $deviceChannels channels)"
@@ -102,8 +103,6 @@ class AudioFormatDetector {
102103
val spatialFormat = detectSpatialFormat(format)
103104
val sourceChannels = format.channelCount
104105

105-
val isDownMixing = sourceChannels > deviceChannels
106-
107106
val quality = determineQualityTier(
108107
sampleRate = sampleRate,
109108
bitDepth = bitDepth,
@@ -117,7 +116,6 @@ class AudioFormatDetector {
117116
isLossless = isLossless,
118117
sourceChannels = sourceChannels,
119118
deviceChannels = deviceChannels,
120-
isDownMixing = isDownMixing,
121119
bitrate = bitrate,
122120
mimeType = format.sampleMimeType,
123121
spatialFormat = spatialFormat,

app/src/main/kotlin/org/akanework/gramophone/ui/components/FullBottomSheet.kt

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import android.view.KeyEvent
1717
import android.view.LayoutInflater
1818
import android.view.View
1919
import android.view.ViewGroup
20+
import android.view.ViewPropertyAnimator
2021
import android.view.WindowInsets
2122
import android.widget.ImageView
2223
import android.widget.SeekBar
@@ -74,6 +75,7 @@ import org.akanework.gramophone.logic.GramophonePlaybackService
7475
import org.akanework.gramophone.logic.clone
7576
import org.akanework.gramophone.logic.dpToPx
7677
import org.akanework.gramophone.logic.fadInAnimation
78+
import org.akanework.gramophone.logic.fadOutAnimation
7779
import org.akanework.gramophone.logic.getAudioFormat
7880
import org.akanework.gramophone.logic.getBooleanStrict
7981
import 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,

app/src/main/kotlin/org/akanework/gramophone/ui/fragments/ArtistSubFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class ArtistSubFragment : BaseFragment(true), PopupTextProvider {
9292
== Configuration.ORIENTATION_PORTRAIT
9393
) 2 else 4
9494
albumAdapter = AlbumAdapter(
95-
this, item.map { it.albumList }, true,
95+
this, item.map { it.albumList }, ownsView = false, isSubFragment = true,
9696
fallbackSpans = spans
9797
)
9898
albumAdapter.decorAdapter.jumpDownPos = albumAdapter.concatAdapter.itemCount

0 commit comments

Comments
 (0)