From 1c77f382ce74b5f5ac7a73cdf6ea74eba924154a Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Mon, 4 Sep 2023 15:19:21 +0300
Subject: [PATCH] Change to thumbhash

---
 .../sdk/api/session/content/ContentAttachmentData.kt       | 2 +-
 .../sdk/api/session/room/model/message/ImageInfo.kt        | 7 ++++++-
 .../sdk/api/session/room/model/message/VideoInfo.kt        | 7 ++++++-
 .../sdk/internal/session/room/send/DefaultSendService.kt   | 4 ++--
 .../internal/session/room/send/LocalEchoEventFactory.kt    | 4 ++--
 5 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt
index 0dbcdf73..2ef4cf5d 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt
@@ -38,7 +38,7 @@ data class ContentAttachmentData(
         val mimeType: String?,
         val type: Type,
         val waveform: List<Int>? = null,
-        val blurHash: String? = null
+        val thumbHash: String? = null
 ) : Parcelable {
 
     @JsonClass(generateAdapter = false)
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt
index 380e0fcb..511f11bb 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt
@@ -60,7 +60,12 @@ data class ImageInfo(
         /**
          * Added to support thumbhash blur MSC2448
          */
-        @Json(name = "blurhash") val blurHash: String? = null
+        @Json(name = "blurhash") val blurHash: String? = null,
+
+        /**
+         * Added to support thumbhash blur MSC2448
+         */
+        @Json(name = "thumbhash") val thumbHash: String? = null
 )
 
 /**
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt
index 23725926..bdb0a305 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt
@@ -65,7 +65,12 @@ data class VideoInfo(
         /**
          * Added to support thumbhash blur MSC2448
          */
-        @Json(name = "blurhash") val blurHash: String? = null
+        @Json(name = "blurhash") val blurHash: String? = null,
+
+        /**
+         * Added to support thumbhash blur MSC2448
+         */
+        @Json(name = "thumbhash") val thumbHash: String? = null
 )
 
 /**
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt
index fbbca9ae..b80578ae 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt
@@ -179,7 +179,7 @@ internal class DefaultSendService @AssistedInject constructor(
                             name = messageContent.body,
                             queryUri = Uri.parse(messageContent.url),
                             type = ContentAttachmentData.Type.IMAGE,
-                            blurHash = messageContent.info.blurHash
+                            thumbHash = messageContent.info.thumbHash ?: messageContent.info.blurHash
                     )
                     localEchoRepository.updateSendState(localEcho.eventId, roomId, SendState.UNSENT)
                     internalSendMedia(listOf(localEcho.root), attachmentData, true)
@@ -194,7 +194,7 @@ internal class DefaultSendService @AssistedInject constructor(
                             name = messageContent.body,
                             queryUri = Uri.parse(messageContent.url),
                             type = ContentAttachmentData.Type.VIDEO,
-                            blurHash = messageContent.videoInfo?.blurHash
+                            thumbHash = messageContent.videoInfo?.thumbHash ?: messageContent.videoInfo?.blurHash
                     )
                     localEchoRepository.updateSendState(localEcho.eventId, roomId, SendState.UNSENT)
                     internalSendMedia(listOf(localEcho.root), attachmentData, true)
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt
index 6e9ded60..cf0d54d0 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt
@@ -435,7 +435,7 @@ internal class LocalEchoEventFactory @Inject constructor(
                         width = width?.toInt() ?: 0,
                         height = height?.toInt() ?: 0,
                         size = attachment.size,
-                        blurHash = attachment.blurHash
+                        thumbHash = attachment.thumbHash
                 ),
                 url = attachment.queryUri.toString(),
                 relatesTo = relatesTo ?: rootThreadEventId?.let { generateThreadRelationContent(it) }
@@ -479,7 +479,7 @@ internal class LocalEchoEventFactory @Inject constructor(
                         // Glide will be able to use the local path and extract a thumbnail.
                         thumbnailUrl = attachment.queryUri.toString(),
                         thumbnailInfo = thumbnailInfo,
-                        blurHash = attachment.blurHash
+                        thumbHash = attachment.thumbHash
                 ),
                 url = attachment.queryUri.toString(),
                 relatesTo = relatesTo ?: rootThreadEventId?.let { generateThreadRelationContent(it) }
-- 
GitLab