mirror of
https://github.com/bbara04/Purefin.git
synced 2026-03-31 17:10:08 +02:00
feature: add resume/pause functionality to PlayerGesturesLayer and update seek duration
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user