Fix album cover jank (#1658)

* fix album cover jank

* reduce album resolution
This commit is contained in:
leekleak
2025-11-11 20:15:41 +02:00
committed by GitHub
parent d8c2803562
commit 9d638d5984
4 changed files with 9 additions and 17 deletions

View File

@@ -320,6 +320,7 @@ internal class MusicServiceImpl(
override val albumArt: Flow<Bitmap?> = channelFlow {
val size = context.resources.getDimensionPixelSize(R.dimen.album_art_size)
var lastBitmap: Bitmap? = null
currentMetadata.collectLatest { metadata ->
if (metadata == null) {
val isNull = preferences.getString(PREFS_KEY_ALBUM_ART, "null") == "null"
@@ -345,6 +346,9 @@ internal class MusicServiceImpl(
?.let { loadBitmapFromUri(Uri.parse(it), size) }
?: metadata.getString(MediaMetadata.METADATA_KEY_ART_URI)
?.let { loadBitmapFromUri(Uri.parse(it), size) }
if (lastBitmap != null && lastBitmap!!.sameAs(bitmap))
return@collectLatest
withContext(Dispatchers.IO) {
if (bitmap == null) {
preferences.edit {
@@ -359,6 +363,7 @@ internal class MusicServiceImpl(
}
}
send(bitmap)
lastBitmap = bitmap
}
}.shareIn(scope, SharingStarted.WhileSubscribed(), 1)

View File

@@ -1,3 +1,3 @@
<resources>
<dimen name="album_art_size">144dp</dimen>
<dimen name="album_art_size">96dp</dimen>
</resources>