package com.suno.android.omniplayer import androidx.annotation.OptIn import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.media3.common.Player import androidx.media3.common.util.UnstableApi import androidx.media3.ui.AspectRatioFrameLayout import androidx.media3.ui.PlayerView import com.suno.android.common_ui.components.preview.SunoPreviewImage @OptIn(UnstableApi::class) @Composable fun VideoPlayerCover( exoPlayer: Player?, ) { if (LocalInspectionMode.current) { SunoPreviewImage( modifier = Modifier .fillMaxSize() .clip(RoundedCornerShape(32.dp)), ) return } AndroidView( modifier = Modifier .fillMaxSize() .clip(RoundedCornerShape(32.dp)), factory = { context -> PlayerView(context).apply { // Set the resize mode to CENTER_CROP resizeMode = AspectRatioFrameLayout.RESIZE_MODE_ZOOM useController = false player = exoPlayer } }, ) }