diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt index 9791b595fa82e7555a9564383d1a5c10538ab5db..ada852370296325da6d61a033a9e0e975b437787 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt @@ -44,10 +44,11 @@ internal class ThumbnailExtractor @Inject constructor( //Changed for Circles fun extractThumbnail(attachment: ContentAttachmentData): ThumbnailData? { - return if (attachment.type == ContentAttachmentData.Type.VIDEO) { - extractVideoThumbnail(attachment) - } else { - null + if (attachment.mimeType == MimeTypes.Gif || attachment.mimeType == MimeTypes.Webp) return null + return when (attachment.type) { + ContentAttachmentData.Type.VIDEO -> extractVideoThumbnail(attachment) + ContentAttachmentData.Type.IMAGE -> extractImageThumbnail(attachment) + else -> null } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt index 3dd440737ad693991b7d14cc812ab9b3623f6efd..d3abc052f723e1c0ea0aa334d6d3930e20498f7d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt @@ -185,6 +185,7 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter } else if (attachment.type == ContentAttachmentData.Type.VIDEO && // Do not compress gif attachment.mimeType != MimeTypes.Gif && + attachment.mimeType != MimeTypes.Webp && params.compressBeforeSending) { fileToUpload = videoCompressor.compress(workingFile, object : ProgressListener { override fun onProgress(progress: Int, total: Int) { @@ -399,6 +400,7 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter } } + // Added thumbnailUrl, thumbnailEncryptedFileInfo to Image content for Circles private suspend fun updateEvent( eventId: String, url: String, @@ -413,7 +415,7 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter // Retrieve potential additional content from the original event val additionalContent = content.orEmpty() - messageContent?.toContent().orEmpty().keys val updatedContent = when (messageContent) { - is MessageImageContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes) + is MessageImageContent -> messageContent.update(url, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, newAttachmentAttributes) is MessageVideoContent -> messageContent.update(url, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, newAttachmentAttributes) is MessageFileContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes.newFileSize) is MessageAudioContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes.newFileSize) @@ -427,15 +429,20 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter params.localEchoIds.forEach { function.invoke(it.eventId) } } + //Added thumbnailUrl,thumbnailEncryptedFileInfo for circles private fun MessageImageContent.update( url: String, encryptedFileInfo: EncryptedFileInfo?, + thumbnailUrl: String?, + thumbnailEncryptedFileInfo: EncryptedFileInfo?, newAttachmentAttributes: NewAttachmentAttributes? ): MessageImageContent { return copy( url = if (encryptedFileInfo == null) url else null, encryptedFileInfo = encryptedFileInfo?.copy(url = url), info = info?.copy( + thumbnailUrl = if (thumbnailEncryptedFileInfo == null) thumbnailUrl else null, + thumbnailFile = thumbnailEncryptedFileInfo?.copy(url = thumbnailUrl), width = newAttachmentAttributes?.newWidth ?: info.width, height = newAttachmentAttributes?.newHeight ?: info.height, size = newAttachmentAttributes?.newFileSize ?: info.size