Save state of start destination when navigating to route in Interests nested graph

Closes #1779
pull/1805/head
anhtuannd 8 months ago
parent a0f2786634
commit 0b4736fd9a

@ -17,6 +17,7 @@
package com.google.samples.apps.nowinandroid.feature.interests.navigation package com.google.samples.apps.nowinandroid.feature.interests.navigation
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.NavGraph.Companion.findStartDestination
import androidx.navigation.NavOptions import androidx.navigation.NavOptions
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@ -29,5 +30,14 @@ fun NavController.navigateToInterests(
initialTopicId: String? = null, initialTopicId: String? = null,
navOptions: NavOptions? = null, navOptions: NavOptions? = null,
) { ) {
navigate(route = InterestsRoute(initialTopicId), navOptions) navigate(
route = InterestsRoute(initialTopicId),
navOptions = navOptions ?: androidx.navigation.navOptions {
// When navigating directly to TopicScreen route inside Interests nested graph, we need
// to save start destination state
popUpTo(this@navigateToInterests.graph.findStartDestination().id) {
saveState = true
}
},
)
} }

Loading…
Cancel
Save