feature: add resume/pause functionality to PlayerGesturesLayer and update seek duration

This commit is contained in:
2026-01-26 20:01:32 +01:00
parent a2d73e1a54
commit 616aa302ad
2 changed files with 10 additions and 3 deletions

View File

@@ -89,8 +89,9 @@ fun PlayerScreen(
PlayerGesturesLayer( PlayerGesturesLayer(
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
onTap = { viewModel.toggleControlsVisibility() }, onTap = { viewModel.toggleControlsVisibility() },
onSeekForward = { viewModel.seekBy(10_000) }, onSeekForward = { viewModel.seekBy(30_000) },
onSeekBackward = { viewModel.seekBy(-10_000) }, onSeekBackward = { viewModel.seekBy(-10_000) },
onResumePause = {viewModel.togglePlayPause()},
onVerticalDragLeft = { delta -> onVerticalDragLeft = { delta ->
val diff = (-delta / 800f) val diff = (-delta / 800f)
brightness = (brightness + diff).coerceIn(0f, 1f) brightness = (brightness + diff).coerceIn(0f, 1f)

View File

@@ -12,6 +12,7 @@ import androidx.compose.ui.input.pointer.pointerInput
fun PlayerGesturesLayer( fun PlayerGesturesLayer(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
onTap: () -> Unit, onTap: () -> Unit,
onResumePause: () -> Unit,
onSeekForward: () -> Unit, onSeekForward: () -> Unit,
onSeekBackward: () -> Unit, onSeekBackward: () -> Unit,
onVerticalDragLeft: (delta: Float) -> Unit, onVerticalDragLeft: (delta: Float) -> Unit,
@@ -24,9 +25,14 @@ fun PlayerGesturesLayer(
detectTapGestures( detectTapGestures(
onTap = { onTap() }, onTap = { onTap() },
onDoubleTap = { offset -> onDoubleTap = { offset ->
val half = size.width / 2 // TODO extract it into an enum
if (offset.x < half) { val screenWidth = size.width
val oneThird = screenWidth / 3
val secondThird = oneThird * 2
if (offset.x < oneThird) {
onSeekBackward() onSeekBackward()
} else if (offset.x >= oneThird && offset.x <= secondThird) {
onResumePause()
} else { } else {
onSeekForward() onSeekForward()
} }