Skip to content

Commit b296b0c

Browse files
Fix a bug on adding multiple folders (#3160)
Recreate viewModel when uri or mode changes. Previously this was always re-using the same viewmodel with outdated parameters.
1 parent cf68887 commit b296b0c

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

core/ui/src/main/kotlin/voice/core/ui/ViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ internal class HoldingViewModel<T>(val value: T) : ViewModel()
99

1010
@Composable
1111
inline fun <reified T> rememberScoped(
12-
key: String = "",
12+
vararg key: String,
1313
crossinline create: () -> T,
1414
): T {
15-
return viewModel(key = T::class.qualifiedName + key) {
15+
return viewModel(key = T::class.qualifiedName + key.contentToString()) {
1616
HoldingViewModel(create())
1717
}.value
1818
}

features/folderPicker/src/main/kotlin/voice/features/folderPicker/selectType/SelectFolderType.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ fun SelectFolderType(
6969
mode: Destination.SelectFolderType.Mode,
7070
) {
7171
val context = LocalContext.current
72-
val viewModel = rememberScoped {
72+
val viewModel = rememberScoped(uri.toString(), mode.name) {
7373
rootGraphAs<SelectFolderTypeGraph>().selectFolderTypeViewModelFactory
7474
.create(
7575
uri = uri,

0 commit comments

Comments
 (0)