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, modifier: Modifier = Modifier,
content: @Composable BoxScope.() -> Unit, content: @Composable BoxScope.() -> Unit,
) { ) {
// TODO should probably be moved to an ElementTheme.dimensions
val maxHeight = min(300, height ?: 0) val maxHeight = min(300, height ?: 0)
Box( Box(
modifier = modifier modifier = modifier
.heightIn(max = maxHeight.dp) .heightIn(max = maxHeight.dp)
.aspectRatio(aspectRatio), .aspectRatio(aspectRatio, matchHeightConstraintsFirst = true),
content = content content = content
) )
} }

View file

@ -40,9 +40,9 @@ fun TimelineItemImageView(
modifier = modifier modifier = modifier
) { ) {
BlurHashAsyncImage( BlurHashAsyncImage(
modifier = Modifier.fillMaxSize(),
blurHash = content.blurhash,
model = MediaRequestData(content.mediaSource, MediaRequestData.Kind.Content), model = MediaRequestData(content.mediaSource, MediaRequestData.Kind.Content),
blurHash = content.blurhash,
modifier = Modifier.fillMaxSize(),
contentScale = ContentScale.Fit, 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.Image
import androidx.compose.foundation.layout.fillMaxSize 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.material3.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.layout.ContentScale 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.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.features.messages.impl.timeline.components.blurhash.BlurHashAsyncImage import io.element.android.features.messages.impl.timeline.components.blurhash.BlurHashAsyncImage
@ -46,13 +47,13 @@ fun TimelineItemVideoView(
modifier = modifier modifier = modifier
) { ) {
BlurHashAsyncImage( BlurHashAsyncImage(
modifier = Modifier.fillMaxSize(),
blurHash = content.blurhash,
model = MediaRequestData(content.thumbnailSource, MediaRequestData.Kind.Content), model = MediaRequestData(content.thumbnailSource, MediaRequestData.Kind.Content),
blurHash = content.blurhash,
modifier = Modifier.fillMaxSize(),
contentScale = ContentScale.Fit, contentScale = ContentScale.Fit,
) )
Image( Image(
painterResource(id = androidx.media3.ui.R.drawable.exo_ic_play_circle_filled), Icons.Default.PlayCircle,
contentDescription = null, contentDescription = null,
colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onBackground), colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onBackground),
modifier = Modifier.align(Alignment.Center), modifier = Modifier.align(Alignment.Center),

View file

@ -17,6 +17,7 @@
package io.element.android.features.messages.impl.timeline.model.event package io.element.android.features.messages.impl.timeline.model.event
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import androidx.media3.common.MimeTypes
import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.api.media.MediaSource
open class TimelineItemImageContentProvider : PreviewParameterProvider<TimelineItemImageContent> { open class TimelineItemImageContentProvider : PreviewParameterProvider<TimelineItemImageContent> {
@ -33,7 +34,7 @@ fun aTimelineItemImageContent() = TimelineItemImageContent(
mediaSource = MediaSource(""), mediaSource = MediaSource(""),
blurhash = "TQF5:I_NtRE4kXt7Z#MwkCIARPjr", blurhash = "TQF5:I_NtRE4kXt7Z#MwkCIARPjr",
aspectRatio = 0.5f, aspectRatio = 0.5f,
mimeType = "null", mimeType = MimeTypes.IMAGE_JPEG,
height = null, height = 300,
width = null width = null
) )