Фикс: серые миниатюры в медиа-галерее — BlurHash декодирование превью
preview содержит формат UUID::blurhash, а парсился как raw Base64 → серый фон. Теперь сначала пробует BlurHash.decode, fallback на Base64. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -893,7 +893,16 @@ fun OtherProfileScreen(
|
|||||||
}
|
}
|
||||||
val previewBitmap = remember(media.preview) {
|
val previewBitmap = remember(media.preview) {
|
||||||
if (media.preview.isNotBlank()) {
|
if (media.preview.isNotBlank()) {
|
||||||
|
// Extract blurhash from "UUID::blurhash" format
|
||||||
|
val blurhash = if (media.preview.contains("::")) {
|
||||||
|
media.preview.substringAfter("::")
|
||||||
|
} else {
|
||||||
|
media.preview
|
||||||
|
}
|
||||||
runCatching {
|
runCatching {
|
||||||
|
com.vanniktech.blurhash.BlurHash.decode(blurhash, 32, 32)
|
||||||
|
}.getOrNull()
|
||||||
|
?: runCatching {
|
||||||
val bytes = Base64.decode(media.preview, Base64.DEFAULT)
|
val bytes = Base64.decode(media.preview, Base64.DEFAULT)
|
||||||
BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
|
BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
|
||||||
}.getOrNull()
|
}.getOrNull()
|
||||||
|
|||||||
Reference in New Issue
Block a user