diff --git a/core/navigation/src/main/kotlin/com/google/samples/apps/nowinandroid/core/navigation/NavigationState.kt b/core/navigation/src/main/kotlin/com/google/samples/apps/nowinandroid/core/navigation/NavigationState.kt index 864fec794..e10d4d70e 100644 --- a/core/navigation/src/main/kotlin/com/google/samples/apps/nowinandroid/core/navigation/NavigationState.kt +++ b/core/navigation/src/main/kotlin/com/google/samples/apps/nowinandroid/core/navigation/NavigationState.kt @@ -16,6 +16,7 @@ package com.google.samples.apps.nowinandroid.core.navigation +import android.util.Log import androidx.annotation.VisibleForTesting import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf @@ -84,11 +85,16 @@ class NavigationState( fun NavigationState.toEntries( entryProvider: (NavKey) -> NavEntry, ): SnapshotStateList> { + Log.d("NAV_CHECK", "TopStack: $topLevelStack") val decoratedEntries = subStacks.mapValues { (_, stack) -> + val decorators = listOf( rememberSaveableStateHolderNavEntryDecorator(), - rememberViewModelStoreNavEntryDecorator(), + rememberViewModelStoreNavEntryDecorator( + removeViewModelStoreOnPop = { true } + ), ) + rememberDecoratedNavEntries( backStack = stack, entryDecorators = decorators, @@ -100,3 +106,4 @@ fun NavigationState.toEntries( .flatMap { decoratedEntries[it] ?: emptyList() } .toMutableStateList() } +