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