fix: Save saveFolder on change

Signed-off-by: Myzel394 <50424412+Myzel394@users.noreply.github.com>
This commit is contained in:
Myzel394 2024-03-22 19:46:18 +01:00
parent 04c6cd92a3
commit e4e23abcea
No known key found for this signature in database
GPG Key ID: DEC4AAB876F73185
2 changed files with 11 additions and 8 deletions

View File

@ -54,7 +54,7 @@ import app.myzel394.alibi.ui.utils.rememberFolderSelectorDialog
@Composable
fun SaveFolderPage(
onBack: () -> Unit,
onContinue: () -> Unit,
onContinue: (saveFolder: String?) -> Unit,
appSettings: AppSettings,
) {
var saveFolder by rememberSaveable { mutableStateOf<String?>(null) }
@ -146,14 +146,14 @@ fun SaveFolderPage(
PermissionRequester(
permission = Manifest.permission.WRITE_EXTERNAL_STORAGE,
icon = Icons.AutoMirrored.Filled.InsertDriveFile,
onPermissionAvailable = onContinue,
onPermissionAvailable = { onContinue(saveFolder) },
) { requestWritePermission ->
val selectFolder = rememberFolderSelectorDialog { folder ->
if (folder == null) {
return@rememberFolderSelectorDialog
}
onContinue()
onContinue(saveFolder)
}
var showCustomFolderHint by rememberSaveable { mutableStateOf(false) }
@ -170,10 +170,10 @@ fun SaveFolderPage(
Button(
onClick = {
when (saveFolder) {
null -> onContinue()
null -> onContinue(saveFolder)
RECORDER_MEDIA_SELECTED_VALUE -> {
if (SUPPORTS_SCOPED_STORAGE) {
onContinue()
onContinue(saveFolder)
} else {
requestWritePermission()
}

View File

@ -45,8 +45,7 @@ fun WelcomeScreen(
}
}
Scaffold(
) { padding ->
Scaffold() { padding ->
Column(
modifier = Modifier
.fillMaxSize()
@ -84,8 +83,12 @@ fun WelcomeScreen(
pagerState.animateScrollToPage(2)
}
},
onContinue = {
onContinue = { saveFolder ->
scope.launch {
dataStore.updateData {
settings.setSaveFolder(saveFolder)
}
pagerState.animateScrollToPage(4)
}
},