File tree Expand file tree Collapse file tree
androidMain/kotlin/com/daniebeler/pfpixelix/utils
commonMain/kotlin/com/daniebeler/pfpixelix
iosMain/kotlin/com/daniebeler/pfpixelix/utils
jvmMain/kotlin/com/daniebeler/pfpixelix/utils Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package com.daniebeler.pfpixelix.utils
2+
3+ import android.view.WindowManager
4+ import androidx.activity.compose.LocalActivity
5+ import androidx.compose.runtime.Composable
6+ import androidx.compose.runtime.DisposableEffect
7+
8+ @Composable
9+ actual fun KeepScreenOn () {
10+ val activity = LocalActivity .current
11+ DisposableEffect (Unit ) {
12+ val window = activity?.window
13+ window?.addFlags(WindowManager .LayoutParams .FLAG_KEEP_SCREEN_ON )
14+ onDispose {
15+ window?.clearFlags(WindowManager .LayoutParams .FLAG_KEEP_SCREEN_ON )
16+ }
17+ }
18+ }
Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ import androidx.lifecycle.Lifecycle
2929import androidx.lifecycle.LifecycleEventObserver
3030import androidx.lifecycle.compose.LocalLifecycleOwner
3131import com.daniebeler.pfpixelix.domain.model.MediaAttachment
32+ import com.daniebeler.pfpixelix.utils.KeepScreenOn
3233import io.github.kdroidfilter.composemediaplayer.VideoPlayerSurface
3334import io.github.kdroidfilter.composemediaplayer.rememberVideoPlayerState
3435
@@ -48,6 +49,10 @@ fun VideoAttachment(
4849
4950 var videoFrameIsVisible by remember { mutableStateOf(false ) }
5051
52+ if (player.isPlaying) {
53+ KeepScreenOn ()
54+ }
55+
5156 Column {
5257 Box (Modifier .clickable {
5358 if (player.isPlaying) {
Original file line number Diff line number Diff line change 1+ package com.daniebeler.pfpixelix.utils
2+
3+ import androidx.compose.runtime.Composable
4+
5+ @Composable
6+ expect fun KeepScreenOn ()
Original file line number Diff line number Diff line change 1+ package com.daniebeler.pfpixelix.utils
2+
3+ import androidx.compose.runtime.Composable
4+ import androidx.compose.runtime.DisposableEffect
5+ import platform.UIKit.UIApplication
6+
7+ @Composable
8+ actual fun KeepScreenOn () {
9+ DisposableEffect (Unit ) {
10+ val sharedApp = UIApplication .sharedApplication
11+ sharedApp.idleTimerDisabled = true
12+
13+ onDispose {
14+ sharedApp.idleTimerDisabled = false
15+ }
16+ }
17+ }
Original file line number Diff line number Diff line change 1+ package com.daniebeler.pfpixelix.utils
2+
3+ import androidx.compose.runtime.Composable
4+
5+ @Composable
6+ actual fun KeepScreenOn () {}
You can’t perform that action at this time.
0 commit comments