Merge pull request #3574 from element-hq/feature/bma/improveMediaModel
Clarify model for Event with attachment
This commit is contained in:
commit
7ece687740
58 changed files with 444 additions and 259 deletions
|
|
@ -44,7 +44,7 @@ internal class CoilMediaFetcher(
|
|||
*
|
||||
*/
|
||||
private suspend fun fetchFile(mediaSource: MediaSource, kind: MediaRequestData.Kind.File): FetchResult? {
|
||||
return mediaLoader.downloadMediaFile(mediaSource, kind.mimeType, kind.body)
|
||||
return mediaLoader.downloadMediaFile(mediaSource, kind.mimeType, kind.fileName)
|
||||
.map { mediaFile ->
|
||||
val file = mediaFile.toFile()
|
||||
SourceResult(
|
||||
|
|
|
|||
|
|
@ -26,7 +26,12 @@ data class MediaRequestData(
|
|||
) {
|
||||
sealed interface Kind {
|
||||
data object Content : Kind
|
||||
data class File(val body: String?, val mimeType: String) : Kind
|
||||
|
||||
data class File(
|
||||
val fileName: String,
|
||||
val mimeType: String,
|
||||
) : Kind
|
||||
|
||||
data class Thumbnail(val width: Long, val height: Long) : Kind {
|
||||
constructor(size: Long) : this(size, size)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,11 +49,11 @@ open class InReplyToDetailsProvider : PreviewParameterProvider<InReplyToDetails>
|
|||
),
|
||||
aMessageContent(
|
||||
body = "Audio",
|
||||
type = AudioMessageType("Audio", MediaSource("url"), null),
|
||||
type = AudioMessageType("Audio", null, null, MediaSource("url"), null),
|
||||
),
|
||||
aMessageContent(
|
||||
body = "Voice",
|
||||
type = VoiceMessageType("Voice", MediaSource("url"), null, null),
|
||||
type = VoiceMessageType("Voice", null, null, MediaSource("url"), null, null),
|
||||
),
|
||||
aMessageContent(
|
||||
body = "Image",
|
||||
|
|
@ -61,11 +61,11 @@ open class InReplyToDetailsProvider : PreviewParameterProvider<InReplyToDetails>
|
|||
),
|
||||
aMessageContent(
|
||||
body = "Sticker",
|
||||
type = StickerMessageType("Image", MediaSource("url"), null),
|
||||
type = StickerMessageType("Image", null, null, MediaSource("url"), null),
|
||||
),
|
||||
aMessageContent(
|
||||
body = "File",
|
||||
type = FileMessageType("File", MediaSource("url"), null),
|
||||
type = FileMessageType("File", null, null, MediaSource("url"), null),
|
||||
),
|
||||
aMessageContent(
|
||||
body = "Location",
|
||||
|
|
|
|||
|
|
@ -75,9 +75,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = ImageMessageType(
|
||||
body = "body",
|
||||
formatted = null,
|
||||
filename = null,
|
||||
filename = "filename",
|
||||
caption = null,
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = anImageInfo(),
|
||||
)
|
||||
|
|
@ -105,9 +105,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = ImageMessageType(
|
||||
body = "body",
|
||||
formatted = null,
|
||||
filename = null,
|
||||
filename = "filename",
|
||||
caption = "caption",
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = anImageInfo(),
|
||||
)
|
||||
|
|
@ -134,6 +134,7 @@ class InReplyToMetadataKtTest {
|
|||
moleculeFlow(RecompositionMode.Immediate) {
|
||||
anInReplyToDetailsReady(
|
||||
eventContent = StickerContent(
|
||||
filename = "filename",
|
||||
body = "body",
|
||||
info = anImageInfo(),
|
||||
source = aMediaSource(url = "url")
|
||||
|
|
@ -160,6 +161,7 @@ class InReplyToMetadataKtTest {
|
|||
moleculeFlow(RecompositionMode.Immediate) {
|
||||
anInReplyToDetailsReady(
|
||||
eventContent = StickerContent(
|
||||
filename = "filename",
|
||||
body = "body",
|
||||
info = anImageInfo(),
|
||||
source = aMediaSource(url = "url")
|
||||
|
|
@ -187,9 +189,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = VideoMessageType(
|
||||
body = "body",
|
||||
formatted = null,
|
||||
filename = null,
|
||||
filename = "filename",
|
||||
caption = null,
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = aVideoInfo(),
|
||||
)
|
||||
|
|
@ -217,9 +219,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = VideoMessageType(
|
||||
body = "body",
|
||||
formatted = null,
|
||||
filename = null,
|
||||
filename = "filename",
|
||||
caption = "caption",
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = aVideoInfo(),
|
||||
)
|
||||
|
|
@ -247,7 +249,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = FileMessageType(
|
||||
body = "body",
|
||||
filename = "filename",
|
||||
caption = "caption",
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = FileInfo(
|
||||
mimetype = null,
|
||||
|
|
@ -280,7 +284,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = FileMessageType(
|
||||
body = "body",
|
||||
filename = "filename",
|
||||
caption = "caption",
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = FileInfo(
|
||||
mimetype = null,
|
||||
|
|
@ -313,7 +319,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = AudioMessageType(
|
||||
body = "body",
|
||||
filename = "filename",
|
||||
caption = "caption",
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = AudioInfo(
|
||||
duration = null,
|
||||
|
|
@ -375,7 +383,9 @@ class InReplyToMetadataKtTest {
|
|||
anInReplyToDetailsReady(
|
||||
eventContent = aMessageContent(
|
||||
messageType = VoiceMessageType(
|
||||
body = "body",
|
||||
filename = "filename",
|
||||
caption = "caption",
|
||||
formattedCaption = null,
|
||||
source = aMediaSource(),
|
||||
info = null,
|
||||
details = null,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue