Fix preview error of MediaVideoView.
This commit is contained in:
parent
2cf226f6b7
commit
dadef8246c
1 changed files with 26 additions and 3 deletions
|
|
@ -31,6 +31,7 @@ import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.foundation.layout.wrapContentSize
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.GraphicEq
|
import androidx.compose.material.icons.outlined.GraphicEq
|
||||||
|
|
@ -57,7 +58,6 @@ import androidx.compose.ui.viewinterop.AndroidView
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
import androidx.media3.common.util.UnstableApi
|
|
||||||
import androidx.media3.ui.AspectRatioFrameLayout
|
import androidx.media3.ui.AspectRatioFrameLayout
|
||||||
import androidx.media3.ui.PlayerView
|
import androidx.media3.ui.PlayerView
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
|
|
@ -80,7 +80,6 @@ import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
import me.saket.telephoto.zoomable.coil.ZoomableAsyncImage
|
import me.saket.telephoto.zoomable.coil.ZoomableAsyncImage
|
||||||
import me.saket.telephoto.zoomable.rememberZoomableImageState
|
import me.saket.telephoto.zoomable.rememberZoomableImageState
|
||||||
|
|
||||||
@SuppressLint("UnsafeOptInUsageError")
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LocalMediaView(
|
fun LocalMediaView(
|
||||||
localMedia: LocalMedia?,
|
localMedia: LocalMedia?,
|
||||||
|
|
@ -147,13 +146,37 @@ private fun MediaImageView(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@UnstableApi
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun MediaVideoView(
|
private fun MediaVideoView(
|
||||||
localMediaViewState: LocalMediaViewState,
|
localMediaViewState: LocalMediaViewState,
|
||||||
localMedia: LocalMedia?,
|
localMedia: LocalMedia?,
|
||||||
onClick: () -> Unit,
|
onClick: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
) {
|
||||||
|
if (LocalInspectionMode.current) {
|
||||||
|
Text(
|
||||||
|
modifier = modifier
|
||||||
|
.background(ElementTheme.colors.bgSubtlePrimary)
|
||||||
|
.wrapContentSize(),
|
||||||
|
text = "A Video Player will render here",
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
ExoPlayerMediaVideoView(
|
||||||
|
localMediaViewState = localMediaViewState,
|
||||||
|
localMedia = localMedia,
|
||||||
|
onClick = onClick,
|
||||||
|
modifier = modifier,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("UnsafeOptInUsageError")
|
||||||
|
@Composable
|
||||||
|
private fun ExoPlayerMediaVideoView(
|
||||||
|
localMediaViewState: LocalMediaViewState,
|
||||||
|
localMedia: LocalMedia?,
|
||||||
|
onClick: () -> Unit,
|
||||||
|
modifier: Modifier,
|
||||||
) {
|
) {
|
||||||
var playableState: PlayableState.Playable by remember {
|
var playableState: PlayableState.Playable by remember {
|
||||||
mutableStateOf(PlayableState.Playable(isPlaying = false, isShowingControls = false))
|
mutableStateOf(PlayableState.Playable(isPlaying = false, isShowingControls = false))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue