From e719c0f8fbde79a207fe04945b19a38a79686812 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Sun, 17 Dec 2023 21:27:47 +0100 Subject: [PATCH] feat: Add some optional delay to RecordingControl --- .../components/RecorderScreen/molecules/RecordingControl.kt | 3 +++ .../RecorderScreen/organisms/VideoRecordingStatus.kt | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/RecordingControl.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/RecordingControl.kt index 822027e..a13d3ff 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/RecordingControl.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/RecordingControl.kt @@ -30,6 +30,7 @@ import kotlinx.coroutines.launch @Composable fun RecordingControl( + initialDelay: Long = 0L, isPaused: Boolean, recordingTime: Long, onDelete: () -> Unit, @@ -67,6 +68,8 @@ fun RecordingControl( LaunchedEffect(animateIn) { if (animateIn) { + delay(initialDelay) + val stack = RandomStack.of(arrayOf(1, 2, 3).asIterable()) while (!stack.isEmpty()) { diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/VideoRecordingStatus.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/VideoRecordingStatus.kt index 8c7eb91..7f9086d 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/VideoRecordingStatus.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/organisms/VideoRecordingStatus.kt @@ -142,6 +142,10 @@ fun VideoRecordingStatus( if (!videoRecorder.isStartingRecording) { RecordingControl( + // There may be some edge cases where the app may crash if the + // user stops or pauses the recording too soon, so we simply add a + // small delay to prevent that + initialDelay = 1000L, isPaused = videoRecorder.isPaused, recordingTime = videoRecorder.recordingTime, onDelete = {