readd regular video elements for regular playing, use isVideo funtion to check

This commit is contained in:
Believethehype
2024-06-30 23:14:37 +02:00
parent 0d83511509
commit ec065a6595
2 changed files with 61 additions and 53 deletions
@@ -109,9 +109,12 @@ import com.vitorpamplona.amethyst.ui.note.MutedIcon
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.PinBottomIconSize import com.vitorpamplona.amethyst.ui.theme.PinBottomIconSize
import com.vitorpamplona.amethyst.ui.theme.Size110dp
import com.vitorpamplona.amethyst.ui.theme.Size165dp
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
import com.vitorpamplona.amethyst.ui.theme.Size22Modifier import com.vitorpamplona.amethyst.ui.theme.Size22Modifier
import com.vitorpamplona.amethyst.ui.theme.Size50Modifier import com.vitorpamplona.amethyst.ui.theme.Size50Modifier
import com.vitorpamplona.amethyst.ui.theme.Size55dp
import com.vitorpamplona.amethyst.ui.theme.Size75dp import com.vitorpamplona.amethyst.ui.theme.Size75dp
import com.vitorpamplona.amethyst.ui.theme.VolumeBottomIconSize import com.vitorpamplona.amethyst.ui.theme.VolumeBottomIconSize
import com.vitorpamplona.amethyst.ui.theme.imageModifier import com.vitorpamplona.amethyst.ui.theme.imageModifier
@@ -754,7 +757,8 @@ private fun RenderVideoPlayer(
} else { } else {
AspectRatioFrameLayout.RESIZE_MODE_FIXED_WIDTH AspectRatioFrameLayout.RESIZE_MODE_FIXED_WIDTH
} }
/*onDialog?.let { innerOnDialog -> if (!gallery) {
onDialog?.let { innerOnDialog ->
setFullscreenButtonClickListener { setFullscreenButtonClickListener {
controller.pause() controller.pause()
innerOnDialog(it) innerOnDialog(it)
@@ -765,13 +769,14 @@ private fun RenderVideoPlayer(
controllerVisible.value = visible == View.VISIBLE controllerVisible.value = visible == View.VISIBLE
onControllerVisibilityChanged?.let { callback -> callback(visible == View.VISIBLE) } onControllerVisibilityChanged?.let { callback -> callback(visible == View.VISIBLE) }
}, },
) */ )
}
} }
}, },
) )
/*
waveform?.let { Waveform(it, controller, remember { Modifier.align(Alignment.Center) }) }
waveform?.let { Waveform(it, controller, remember { Modifier.align(Alignment.Center) }) }
if (!gallery) {
val startingMuteState = remember(controller) { controller.volume < 0.001 } val startingMuteState = remember(controller) { controller.volume < 0.001 }
MuteButton( MuteButton(
@@ -820,7 +825,10 @@ private fun RenderVideoPlayer(
AnimatedShareButton(controllerVisible, Modifier.align(Alignment.TopEnd).padding(end = Size165dp)) { popupExpanded, toggle -> AnimatedShareButton(controllerVisible, Modifier.align(Alignment.TopEnd).padding(end = Size165dp)) { popupExpanded, toggle ->
ShareImageAction(accountViewModel = accountViewModel, popupExpanded, videoUri, nostrUriCallback, toggle) ShareImageAction(accountViewModel = accountViewModel, popupExpanded, videoUri, nostrUriCallback, toggle)
} */ }
} else {
controller.volume = 0f
}
} }
} }
@@ -53,6 +53,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.distinctUntilChanged import androidx.lifecycle.distinctUntilChanged
import androidx.lifecycle.map import androidx.lifecycle.map
import coil.compose.AsyncImage import coil.compose.AsyncImage
import com.vitorpamplona.amethyst.commons.richtext.RichTextParser.Companion.isVideoUrl
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.ui.actions.CrossfadeIfEnabled import com.vitorpamplona.amethyst.ui.actions.CrossfadeIfEnabled
import com.vitorpamplona.amethyst.ui.components.SensitivityWarning import com.vitorpamplona.amethyst.ui.components.SensitivityWarning
@@ -336,8 +337,7 @@ fun InnerRenderGalleryThumb(
contentAlignment = BottomStart, contentAlignment = BottomStart,
) { ) {
card.image?.let { card.image?.let {
if (it.endsWith("mp4") || it.endsWith("mov") || it.endsWith("mpeg")) { if (isVideoUrl(it)) {
// TODO how to long press?
VideoView( VideoView(
videoUri = it, videoUri = it,
mimeType = null, mimeType = null,