From 6124a52c8403a80e5f29c63c78b3c5c89c961ce3 Mon Sep 17 00:00:00 2001 From: k1ngsterr1 Date: Fri, 10 Apr 2026 14:57:52 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81:=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BC=D0=B8=D0=BD=D0=B8=D0=B0=D1=82=D1=8E=D1=80?= =?UTF-8?q?=D1=8B=20=D0=B2=20=D0=BC=D0=B5=D0=B4=D0=B8=D0=B0-=D0=B3=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D1=80=D0=B5=D0=B5=20=E2=80=94=20BlurHash=20=D0=B4?= =?UTF-8?q?=D0=B5=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit preview содержит формат UUID::blurhash, а парсился как raw Base64 → серый фон. Теперь сначала пробует BlurHash.decode, fallback на Base64. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../messenger/ui/settings/OtherProfileScreen.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt index 225f2c3..95f1de4 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/settings/OtherProfileScreen.kt @@ -893,10 +893,19 @@ fun OtherProfileScreen( } val previewBitmap = remember(media.preview) { if (media.preview.isNotBlank()) { + // Extract blurhash from "UUID::blurhash" format + val blurhash = if (media.preview.contains("::")) { + media.preview.substringAfter("::") + } else { + media.preview + } runCatching { - val bytes = Base64.decode(media.preview, Base64.DEFAULT) - BitmapFactory.decodeByteArray(bytes, 0, bytes.size) + com.vanniktech.blurhash.BlurHash.decode(blurhash, 32, 32) }.getOrNull() + ?: runCatching { + val bytes = Base64.decode(media.preview, Base64.DEFAULT) + BitmapFactory.decodeByteArray(bytes, 0, bytes.size) + }.getOrNull() } else null } val isLoaded = resolvedBitmap != null || model != null