mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 14:55:26 +02:00
fix: Manually check settings changes
Signed-off-by: Myzel394 <50424412+Myzel394@users.noreply.github.com>
This commit is contained in:
parent
f839416ce1
commit
8c9143f1ec
@ -252,12 +252,12 @@ fun RecorderEventsHandler(
|
||||
// is registered twice, and THEN disposed once (AFTER being called twice),
|
||||
// which then causes the `onRecordingSave` to be in a weird state.
|
||||
// This variable is a workaround to prevent this from happening.
|
||||
var audioAlreadyRegistered = false
|
||||
DisposableEffect(Unit) {
|
||||
if (audioAlreadyRegistered) {
|
||||
var previousAudioSettings: AppSettings? = null
|
||||
DisposableEffect(settings) {
|
||||
if (previousAudioSettings == settings) {
|
||||
onDispose { }
|
||||
} else {
|
||||
audioAlreadyRegistered = true
|
||||
previousAudioSettings = settings
|
||||
audioRecorder.onRecordingSave = { cleanupOldFiles ->
|
||||
saveRecording(audioRecorder as RecorderModel, cleanupOldFiles)
|
||||
}
|
||||
@ -301,12 +301,12 @@ fun RecorderEventsHandler(
|
||||
}
|
||||
|
||||
// Register video recorder events
|
||||
var videoAlreadyRegistered = false
|
||||
DisposableEffect(Unit) {
|
||||
if (videoAlreadyRegistered) {
|
||||
var previousVideoSettings: AppSettings? = null
|
||||
DisposableEffect(settings) {
|
||||
if (previousVideoSettings == settings) {
|
||||
onDispose { }
|
||||
} else {
|
||||
videoAlreadyRegistered = true
|
||||
previousVideoSettings = settings
|
||||
Log.i("Alibi", "===== Registering videoRecorder events $videoRecorder")
|
||||
videoRecorder.onRecordingSave = { cleanupOldFiles ->
|
||||
saveRecording(videoRecorder as RecorderModel, cleanupOldFiles)
|
||||
|
@ -16,17 +16,14 @@ import androidx.compose.material3.SnackbarHostState
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.myzel394.alibi.R
|
||||
import app.myzel394.alibi.dataStore
|
||||
import app.myzel394.alibi.db.AppSettings
|
||||
import app.myzel394.alibi.db.RecordingInformation
|
||||
import app.myzel394.alibi.ui.components.RecorderScreen.organisms.AudioRecordingStatus
|
||||
@ -46,7 +43,6 @@ fun RecorderScreen(
|
||||
settings: AppSettings,
|
||||
) {
|
||||
val snackbarHostState = remember { SnackbarHostState() }
|
||||
val context = LocalContext.current
|
||||
val scope = rememberCoroutineScope()
|
||||
|
||||
RecorderEventsHandler(
|
||||
@ -104,9 +100,6 @@ fun RecorderScreen(
|
||||
.fillMaxSize()
|
||||
.padding(padding),
|
||||
) {
|
||||
val appSettings =
|
||||
context.dataStore.data.collectAsState(AppSettings.getDefaultInstance()).value
|
||||
|
||||
if (audioRecorder.isInRecording)
|
||||
AudioRecordingStatus(audioRecorder = audioRecorder)
|
||||
else if (videoRecorder.isInRecording)
|
||||
@ -115,7 +108,7 @@ fun RecorderScreen(
|
||||
StartRecording(
|
||||
audioRecorder = audioRecorder,
|
||||
videoRecorder = videoRecorder,
|
||||
appSettings = appSettings,
|
||||
appSettings = settings,
|
||||
onSaveLastRecording = {
|
||||
scope.launch {
|
||||
when (settings.lastRecording!!.type) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user