diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt index c3618bb3d2..33fbeaa8ce 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt @@ -32,11 +32,12 @@ fun TimelineItemAspectRatioBox( modifier: Modifier = Modifier, content: @Composable BoxScope.() -> Unit, ) { + // TODO should probably be moved to an ElementTheme.dimensions val maxHeight = min(300, height ?: 0) Box( modifier = modifier .heightIn(max = maxHeight.dp) - .aspectRatio(aspectRatio), + .aspectRatio(aspectRatio, matchHeightConstraintsFirst = true), content = content ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt index f1dd1625f0..f2cb2b2b92 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt @@ -40,9 +40,9 @@ fun TimelineItemImageView( modifier = modifier ) { BlurHashAsyncImage( - modifier = Modifier.fillMaxSize(), - blurHash = content.blurhash, model = MediaRequestData(content.mediaSource, MediaRequestData.Kind.Content), + blurHash = content.blurhash, + modifier = Modifier.fillMaxSize(), contentScale = ContentScale.Fit, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt index c56c9b18fb..1eeb5c6216 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt @@ -18,13 +18,14 @@ package io.element.android.features.messages.impl.timeline.components.event import androidx.compose.foundation.Image import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.PlayCircle import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.messages.impl.timeline.components.blurhash.BlurHashAsyncImage @@ -46,13 +47,13 @@ fun TimelineItemVideoView( modifier = modifier ) { BlurHashAsyncImage( - modifier = Modifier.fillMaxSize(), - blurHash = content.blurhash, model = MediaRequestData(content.thumbnailSource, MediaRequestData.Kind.Content), + blurHash = content.blurhash, + modifier = Modifier.fillMaxSize(), contentScale = ContentScale.Fit, ) Image( - painterResource(id = androidx.media3.ui.R.drawable.exo_ic_play_circle_filled), + Icons.Default.PlayCircle, contentDescription = null, colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onBackground), modifier = Modifier.align(Alignment.Center), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt index 0bedfd8991..6324789d8f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt @@ -17,6 +17,7 @@ package io.element.android.features.messages.impl.timeline.model.event import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import androidx.media3.common.MimeTypes import io.element.android.libraries.matrix.api.media.MediaSource open class TimelineItemImageContentProvider : PreviewParameterProvider { @@ -33,7 +34,7 @@ fun aTimelineItemImageContent() = TimelineItemImageContent( mediaSource = MediaSource(""), blurhash = "TQF5:I_NtRE4kXt7Z#MwkCIARPjr", aspectRatio = 0.5f, - mimeType = "null", - height = null, + mimeType = MimeTypes.IMAGE_JPEG, + height = 300, width = null )