Merge branch 'develop' into feature/fga/image_loading

This commit is contained in:
ganfra 2023-05-22 20:59:37 +02:00
commit 2c3fb8a549
212 changed files with 1616 additions and 916 deletions

View file

@ -24,10 +24,13 @@ import io.element.android.libraries.matrix.api.media.VideoInfo
import java.io.File
sealed interface MediaUploadInfo {
data class Image(val file: File, val info: ImageInfo, val thumbnailInfo: ThumbnailProcessingInfo) : MediaUploadInfo
data class Video(val file: File, val info: VideoInfo, val thumbnailInfo: ThumbnailProcessingInfo) : MediaUploadInfo
data class Audio(val file: File, val info: AudioInfo) : MediaUploadInfo
data class AnyFile(val file: File, val info: FileInfo) : 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 Audio(override val file: File, val info: AudioInfo) : MediaUploadInfo
data class AnyFile(override val file: File, val info: FileInfo) : MediaUploadInfo
}
data class ThumbnailProcessingInfo(

View file

@ -130,19 +130,15 @@ class AndroidMediaPreProcessor @Inject constructor(
}.mapFailure { MediaPreProcessor.Failure(it) }
private fun MediaUploadInfo.postProcess(uri: Uri): MediaUploadInfo {
fun File.rename(name: String): File {
return File(context.cacheDir, name).also {
renameTo(it)
}
}
val name = context.getFileName(uri) ?: return this
val renamedFile = File(context.cacheDir, name).also {
file.renameTo(it)
}
return when (this) {
is MediaUploadInfo.AnyFile -> copy(file = file.rename(name))
is MediaUploadInfo.Audio -> copy(file = file.rename(name))
is MediaUploadInfo.Image -> copy(file = file.rename(name))
is MediaUploadInfo.Video -> copy(file = file.rename(name))
is MediaUploadInfo.AnyFile -> copy(file = renamedFile)
is MediaUploadInfo.Audio -> copy(file = renamedFile)
is MediaUploadInfo.Image -> copy(file = renamedFile)
is MediaUploadInfo.Video -> copy(file = renamedFile)
}
}