Media: more cleanup

This commit is contained in:
ganfra
2023-05-25 15:47:08 +02:00
parent ca9a971d48
commit dcae29d35e
4 changed files with 12 additions and 9 deletions

View File

@@ -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
)
}

View File

@@ -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,
)
}

View File

@@ -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),

View File

@@ -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<TimelineItemImageContent> {
@@ -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
)