Skip to content

Commit 0b4736f

Browse files
committed
Save state of start destination when navigating to route in Interests nested graph
Closes android#1779
1 parent a0f2786 commit 0b4736f

File tree

1 file changed

+11
-1
lines changed
  • feature/interests/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/interests/navigation

1 file changed

+11
-1
lines changed

feature/interests/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/interests/navigation/InterestsNavigation.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.google.samples.apps.nowinandroid.feature.interests.navigation
1818

1919
import androidx.navigation.NavController
20+
import androidx.navigation.NavGraph.Companion.findStartDestination
2021
import androidx.navigation.NavOptions
2122
import kotlinx.serialization.Serializable
2223

@@ -29,5 +30,14 @@ fun NavController.navigateToInterests(
2930
initialTopicId: String? = null,
3031
navOptions: NavOptions? = null,
3132
) {
32-
navigate(route = InterestsRoute(initialTopicId), navOptions)
33+
navigate(
34+
route = InterestsRoute(initialTopicId),
35+
navOptions = navOptions ?: androidx.navigation.navOptions {
36+
// When navigating directly to TopicScreen route inside Interests nested graph, we need
37+
// to save start destination state
38+
popUpTo(this@navigateToInterests.graph.findStartDestination().id) {
39+
saveState = true
40+
}
41+
},
42+
)
3343
}

0 commit comments

Comments
 (0)