Media: change the API

This commit is contained in:
ganfra 2023-04-27 12:06:01 +02:00
parent c920dfb97a
commit 4b5ca3acdd
18 changed files with 242 additions and 212 deletions

View file

@ -55,10 +55,10 @@ fun TimelineItemImageView(
.aspectRatio(content.aspectRatio),
contentAlignment = Alignment.Center,
) {
val isLoading = rememberSaveable(content.imageMeta) { mutableStateOf(true) }
val isLoading = rememberSaveable(content.mediaRequestData) { mutableStateOf(true) }
val context = LocalContext.current
val model = ImageRequest.Builder(context)
.data(content.imageMeta)
.data(content.mediaRequestData)
.build()
AsyncImage(

View file

@ -23,12 +23,12 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextContent
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemUnknownContent
import io.element.android.features.messages.impl.timeline.util.toHtmlDocument
import io.element.android.libraries.matrix.api.media.MediaResolver
import io.element.android.libraries.matrix.api.timeline.item.event.EmoteMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.ImageMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.MessageContent
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
import io.element.android.libraries.matrix.ui.media.MediaRequestData
import javax.inject.Inject
class TimelineItemContentMessageFactory @Inject constructor() {
@ -49,9 +49,9 @@ class TimelineItemContentMessageFactory @Inject constructor() {
}
TimelineItemImageContent(
body = messageType.body,
imageMeta = MediaResolver.Meta(
mediaRequestData = MediaRequestData(
url = messageType.url,
kind = MediaResolver.Kind.Content
kind = MediaRequestData.Kind.Content
),
blurhash = messageType.info?.blurhash,
aspectRatio = aspectRatio

View file

@ -16,11 +16,11 @@
package io.element.android.features.messages.impl.timeline.model.event
import io.element.android.libraries.matrix.api.media.MediaResolver
import io.element.android.libraries.matrix.ui.media.MediaRequestData
data class TimelineItemImageContent(
val body: String,
val imageMeta: MediaResolver.Meta,
val mediaRequestData: MediaRequestData,
val blurhash: String?,
val aspectRatio: Float
) : TimelineItemEventContent

View file

@ -17,7 +17,7 @@
package io.element.android.features.messages.impl.timeline.model.event
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.matrix.api.media.MediaResolver
import io.element.android.libraries.matrix.ui.media.MediaRequestData
open class TimelineItemImageContentProvider : PreviewParameterProvider<TimelineItemImageContent> {
override val values: Sequence<TimelineItemImageContent>
@ -30,7 +30,7 @@ open class TimelineItemImageContentProvider : PreviewParameterProvider<TimelineI
fun aTimelineItemImageContent() = TimelineItemImageContent(
body = "a body",
imageMeta = MediaResolver.Meta(url = null, kind = MediaResolver.Kind.Content),
mediaRequestData = MediaRequestData(url = "", kind = MediaRequestData.Kind.Content),
blurhash = null,
aspectRatio = 0.5f,
)