Fix media session crash when playing audio

This commit is contained in:
Niels van Velzen
2026-06-27 14:41:12 +02:00
committed by Niels van Velzen
parent fa3f97f5c1
commit 2ace128505
2 changed files with 10 additions and 2 deletions
@@ -14,6 +14,7 @@ import androidx.lifecycle.viewModelScope
import androidx.media3.common.Player
import coil3.ImageLoader
import coil3.request.ImageRequest
import coil3.request.allowHardware
import coil3.toBitmap
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -162,7 +163,10 @@ class PlayerNotificationHelper(private val viewModel: PlayerViewModel) : KoinCom
tag = mediaSource.item?.imageTags?.get(ImageType.PRIMARY),
)
val imageRequest = ImageRequest.Builder(context).data(imageUrl).build()
val imageRequest = ImageRequest.Builder(context)
.data(imageUrl)
.allowHardware(false)
.build()
imageLoader.execute(imageRequest).image?.toBitmap()
}
}
@@ -30,6 +30,7 @@ import androidx.core.content.getSystemService
import androidx.core.text.HtmlCompat
import coil3.ImageLoader
import coil3.request.ImageRequest
import coil3.request.allowHardware
import coil3.toBitmap
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -224,7 +225,10 @@ class RemotePlayerService : Service(), CoroutineScope {
// Resolve notification bitmap
val cachedBitmap = largeItemIcon?.takeIf { itemId == currentItemId }
val bitmap = cachedBitmap ?: if (!imageUrl.isNullOrEmpty()) {
val request = ImageRequest.Builder(this@RemotePlayerService).data(imageUrl).build()
val request = ImageRequest.Builder(this@RemotePlayerService)
.data(imageUrl)
.allowHardware(false)
.build()
imageLoader.execute(request).image?.toBitmap()?.also { bitmap ->
largeItemIcon = bitmap // Cache bitmap for later use
}