From 0de720ccf4ed84b548a1233b56ca2b0ad0c64c5c Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Sat, 25 Nov 2023 15:29:42 +0100 Subject: [PATCH] debug: Add PoC for recurring video --- .../app/myzel394/alibi/services/VideoService.kt | 17 ++++++++++++++++- .../app/myzel394/alibi/ui/screens/POCVideo.kt | 16 +++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/app/myzel394/alibi/services/VideoService.kt b/app/src/main/java/app/myzel394/alibi/services/VideoService.kt index 6e23094..6f39249 100644 --- a/app/src/main/java/app/myzel394/alibi/services/VideoService.kt +++ b/app/src/main/java/app/myzel394/alibi/services/VideoService.kt @@ -101,10 +101,25 @@ class VideoService : LifecycleService() { scope.launch { delay(15000) + result.stop() + // Unbind use cases before rebinding + cameraProvider?.unbindAll() + // Bind use cases to camera + cameraProvider?.bindToLifecycle(this@VideoService, cameraSelector, videoCapture) + + delay(5000) + + val recording = videoCapture.output.prepareRecording(this@VideoService, options) + .withAudioEnabled() + val result = recording.start(ContextCompat.getMainExecutor(this@VideoService), {}) + + delay(15000) + result.stop() - cameraProvider.unbindAll() stopSelf() + stopForeground(STOP_FOREGROUND_REMOVE) + } }, ContextCompat.getMainExecutor(this)) } diff --git a/app/src/main/java/app/myzel394/alibi/ui/screens/POCVideo.kt b/app/src/main/java/app/myzel394/alibi/ui/screens/POCVideo.kt index 75b0f20..a7cae21 100644 --- a/app/src/main/java/app/myzel394/alibi/ui/screens/POCVideo.kt +++ b/app/src/main/java/app/myzel394/alibi/ui/screens/POCVideo.kt @@ -1,9 +1,13 @@ package app.myzel394.alibi.ui.screens import android.content.Intent +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import app.myzel394.alibi.services.VideoService @@ -12,10 +16,12 @@ import app.myzel394.alibi.services.VideoService fun POCVideo() { val context = LocalContext.current - LaunchedEffect(Unit) { - val intent = Intent(context, VideoService::class.java) - ContextCompat.startForegroundService(context, intent) + Box(modifier = Modifier.fillMaxSize()) { + Button(onClick = { + val intent = Intent(context, VideoService::class.java) + ContextCompat.startForegroundService(context, intent) + }) { + Text("Start") + } } - - Text(text = "POCVideo") } \ No newline at end of file