diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt index 7dd9754..2aff0f6 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecorderPreparationSheet.kt @@ -20,6 +20,7 @@ import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.CameraAlt import androidx.compose.material.icons.filled.Mic +import androidx.compose.material3.BottomSheetDefaults import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme @@ -65,8 +66,11 @@ fun VideoRecorderPreparationSheet( onPreviewVisible: () -> Unit, onPreviewHidden: () -> Unit, showPreview: Boolean, + onStartRecording: () -> Unit, ) { - val sheetState = rememberModalBottomSheetState(true) + val sheetState = rememberModalBottomSheetState(true) { sheetValue -> + false + } val context = LocalContext.current val cameras = CameraInfo.queryAvailableCameras(context) @@ -78,9 +82,12 @@ fun VideoRecorderPreparationSheet( ModalBottomSheet( onDismissRequest = onDismiss, sheetState = sheetState, - dragHandle = if (showPreview) { - null - } else null, + dragHandle = { + if (showPreview) + Unit + else + BottomSheetDefaults.DragHandle() + } ) { Box( modifier = Modifier @@ -176,7 +183,7 @@ fun VideoRecorderPreparationSheet( detectTapGestures( onLongPress = { onPreviewVisible() - } + }, ) }, horizontalArrangement = Arrangement.Center, diff --git a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt index b90e657..c7473e0 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/components/RecorderScreen/molecules/VideoRecordingStart.kt @@ -54,6 +54,9 @@ fun VideoRecordingStart( onPreviewVisible = onHideAudioRecording, onPreviewHidden = onShowAudioRecording, showPreview = showPreview, + onStartRecording = { + videoRecorder.startRecording(context, appSettings) + }, ) } diff --git a/app/src/main/java/app/myzel394/alibi/ui/screens/RecorderScreen.kt b/app/src/main/java/app/myzel394/alibi/ui/screens/RecorderScreen.kt index 36e4b25..9e97cc5 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/screens/RecorderScreen.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/screens/RecorderScreen.kt @@ -82,7 +82,7 @@ fun RecorderScreen( } } - var isProcessingAudio by remember { mutableStateOf(false) } + var isProcessing by remember { mutableStateOf(false) } var showRecorderError by remember { mutableStateOf(false) } fun saveAsLastRecording() { @@ -122,7 +122,7 @@ fun RecorderScreen( fun saveRecording() { scope.launch { - isProcessingAudio = true + isProcessing = true // Give the user some time to see the processing dialog delay(100) @@ -166,7 +166,7 @@ fun RecorderScreen( } catch (error: Exception) { Log.getStackTraceString(error) } finally { - isProcessingAudio = false + isProcessing = false } } } @@ -190,7 +190,7 @@ fun RecorderScreen( } } - if (isProcessingAudio) + if (isProcessing) AlertDialog( onDismissRequest = { }, icon = { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 475505b..408d810 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -28,7 +28,7 @@ Save Recording Alibi will continue recording in the background and store the last %s minutes at your request Processing - Processing Audio, do not close Alibi! You will be automatically prompted to save the file once it\'s ready + Processing your recording, do not close Alibi! You will automatically be prompted to save the file once it\'s ready Recording Audio Alibi keeps recording in the background