Fix MediaPreProcessor for images/videos sent as file

This commit is contained in:
ganfra 2023-06-16 13:52:07 +02:00
parent 2cc78fd5fb
commit 33c74fb4e5
7 changed files with 251 additions and 147 deletions

View file

@ -44,15 +44,26 @@ class MediaSender @Inject constructor(
): Result<Unit> {
return when (info) {
is MediaUploadInfo.Image -> {
sendImage(info.file, info.thumbnailInfo.file, info.info)
sendImage(
file = info.file,
thumbnailFile = info.thumbnailFile,
imageInfo = info.info
)
}
is MediaUploadInfo.Video -> {
sendVideo(info.file, info.thumbnailInfo.file, info.info)
sendVideo(
file = info.file,
thumbnailFile = info.thumbnailFile,
videoInfo = info.info
)
}
is MediaUploadInfo.AnyFile -> {
sendFile(info.file, info.info)
sendFile(
file = info.file,
fileInfo = info.info
)
}
else -> Result.failure(IllegalStateException("Unexpected MediaUploadInfo format: $info"))
}

View file

@ -19,7 +19,6 @@ package io.element.android.libraries.mediaupload.api
import io.element.android.libraries.matrix.api.media.AudioInfo
import io.element.android.libraries.matrix.api.media.FileInfo
import io.element.android.libraries.matrix.api.media.ImageInfo
import io.element.android.libraries.matrix.api.media.ThumbnailInfo
import io.element.android.libraries.matrix.api.media.VideoInfo
import java.io.File
@ -27,14 +26,8 @@ sealed interface MediaUploadInfo {
val file: File
data class Image(override val file: File, val info: ImageInfo, val thumbnailInfo: ThumbnailProcessingInfo) : MediaUploadInfo
data class Video(override val file: File, val info: VideoInfo, val thumbnailInfo: ThumbnailProcessingInfo) : MediaUploadInfo
data class Image(override val file: File, val info: ImageInfo, val thumbnailFile: File) : MediaUploadInfo
data class Video(override val file: File, val info: VideoInfo, val thumbnailFile: File) : MediaUploadInfo
data class Audio(override val file: File, val info: AudioInfo) : MediaUploadInfo
data class AnyFile(override val file: File, val info: FileInfo) : MediaUploadInfo
}
data class ThumbnailProcessingInfo(
val file: File,
val info: ThumbnailInfo,
val blurhash: String,
)