Fix music widget album art scaling

This commit is contained in:
MM20 2022-01-07 20:49:16 +01:00
parent d3358fa7b5
commit eebffa333e
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
2 changed files with 10 additions and 3 deletions

View File

@ -287,8 +287,13 @@ class MusicRepositoryImpl(val context: Context) : MusicRepository, KoinComponent
if (albumArt == null) {
this@MusicRepositoryImpl.albumArt.value = null
} else {
val size = context.resources.getDimensionPixelSize(R.dimen.album_art_size)
val scaledBitmap = albumArt.scale(size, size)
val size = context.resources.getDimension(R.dimen.album_art_size)
val (scaledW, scaledH) = if (albumArt.width > albumArt.height) {
size * albumArt.width / albumArt.height to size
} else {
size to size * albumArt.height / albumArt.width
}
val scaledBitmap = albumArt.scale(scaledW.toInt(), scaledH.toInt())
val file = File(context.cacheDir, "album_art")
val outStream = file.outputStream()
scaledBitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream)

View File

@ -26,6 +26,7 @@ import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
@ -163,7 +164,8 @@ fun MusicWidget() {
bitmap = it.asImageBitmap(),
modifier = Modifier
.fillMaxSize(),
contentDescription = null
contentDescription = null,
contentScale = ContentScale.Crop
)
}
} else {