From 96106cd79cc949cfc470202173e60d7eb47f9a44 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Sun, 6 Aug 2023 00:15:26 +0200 Subject: [PATCH] feat: Keep screen on while recording --- .../AudioRecorder/molecules/RecordingStatus.kt | 3 +++ .../app/myzel394/locationtest/ui/utils/views.kt | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 app/src/main/java/app/myzel394/locationtest/ui/utils/views.kt diff --git a/app/src/main/java/app/myzel394/locationtest/ui/components/AudioRecorder/molecules/RecordingStatus.kt b/app/src/main/java/app/myzel394/locationtest/ui/components/AudioRecorder/molecules/RecordingStatus.kt index 7fda0c8..84bea1b 100644 --- a/app/src/main/java/app/myzel394/locationtest/ui/components/AudioRecorder/molecules/RecordingStatus.kt +++ b/app/src/main/java/app/myzel394/locationtest/ui/components/AudioRecorder/molecules/RecordingStatus.kt @@ -41,6 +41,7 @@ import app.myzel394.locationtest.ui.BIG_PRIMARY_BUTTON_SIZE import app.myzel394.locationtest.ui.components.AudioRecorder.atoms.ConfirmDeletionDialog import app.myzel394.locationtest.ui.components.AudioRecorder.atoms.RealtimeAudioVisualizer import app.myzel394.locationtest.ui.components.atoms.Pulsating +import app.myzel394.locationtest.ui.utils.KeepScreenOn import app.myzel394.locationtest.ui.utils.formatDuration import kotlinx.coroutines.delay import java.io.File @@ -68,6 +69,8 @@ fun RecordingStatus( } } + KeepScreenOn() + Column( modifier = Modifier .fillMaxSize(), diff --git a/app/src/main/java/app/myzel394/locationtest/ui/utils/views.kt b/app/src/main/java/app/myzel394/locationtest/ui/utils/views.kt new file mode 100644 index 0000000..7577a55 --- /dev/null +++ b/app/src/main/java/app/myzel394/locationtest/ui/utils/views.kt @@ -0,0 +1,16 @@ +package app.myzel394.locationtest.ui.utils + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.ui.platform.LocalView + +@Composable +fun KeepScreenOn() { + val currentView = LocalView.current + DisposableEffect(Unit) { + currentView.keepScreenOn = true + onDispose { + currentView.keepScreenOn = false + } + } +}