fix: Properly clear recordings when deleteRecordingsImmediately is set

This commit is contained in:
Myzel394 2023-10-26 19:12:32 +02:00
parent 6b6a19ead3
commit 369050e94e
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
2 changed files with 18 additions and 3 deletions

View File

@ -49,14 +49,22 @@ fun AudioRecorder(
audioRecorder: AudioRecorderModel,
) {
val context = LocalContext.current
val settings = rememberSettings()
val saveFile = rememberFileSaverDialog(settings.audioRecorderSettings.getMimeType())
val scope = rememberCoroutineScope()
val saveFile = rememberFileSaverDialog(
settings.audioRecorderSettings.getMimeType()
) {
if (settings.audioRecorderSettings.deleteRecordingsImmediately) {
AudioRecorderExporter.clearAllRecordings(context)
}
}
var isProcessingAudio by remember { mutableStateOf(false) }
var showRecorderError by remember { mutableStateOf(false) }
DisposableEffect(Unit) {
DisposableEffect(key1 = audioRecorder, key2 = settings.audioRecorderSettings) {
audioRecorder.onRecordingSave = {
scope.launch {
isProcessingAudio = true

View File

@ -12,7 +12,10 @@ import androidx.compose.ui.platform.LocalContext
import java.io.File
@Composable
fun rememberFileSaverDialog(mimeType: String): ((File, String) -> Unit) {
fun rememberFileSaverDialog(
mimeType: String,
callback: (Uri) -> Unit = {},
): ((File, String) -> Unit) {
val context = LocalContext.current
var file = remember { mutableStateOf<File?>(null) }
@ -28,6 +31,10 @@ fun rememberFileSaverDialog(mimeType: String): ((File, String) -> Unit) {
}
file.value = null
if (it != null) {
callback(it)
}
}
return { it, name ->