From f3de5cd7dd222c46e8828eff3978d67f3c07bccc Mon Sep 17 00:00:00 2001 From: urotarou Date: Thu, 14 Sep 2023 23:42:26 +0900 Subject: [PATCH] changed bottom navigation return behavior --- .../io/github/droidkaigi/confsched2023/about/AboutScreen.kt | 4 ++++ .../confsched2023/achievements/AchievementsScreen.kt | 4 ++++ .../droidkaigi/confsched2023/floormap/FloorMapScreen.kt | 4 ++++ .../droidkaigi/confsched2023/sessions/TimetableScreen.kt | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/feature/about/src/main/java/io/github/droidkaigi/confsched2023/about/AboutScreen.kt b/feature/about/src/main/java/io/github/droidkaigi/confsched2023/about/AboutScreen.kt index b1052f1fa..35aa32142 100644 --- a/feature/about/src/main/java/io/github/droidkaigi/confsched2023/about/AboutScreen.kt +++ b/feature/about/src/main/java/io/github/droidkaigi/confsched2023/about/AboutScreen.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.text.font.FontWeight import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController +import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import io.github.droidkaigi.confsched2023.about.component.AboutDroidKaigiDetail @@ -49,6 +50,9 @@ fun NavGraphBuilder.nestedAboutScreen( fun NavController.navigateAboutScreen() { navigate(aboutScreenRoute) { + popUpTo(id = graph.findStartDestination().id) { + saveState = true + } launchSingleTop = true restoreState = true } diff --git a/feature/achievements/src/main/java/io/github/droidkaigi/confsched2023/achievements/AchievementsScreen.kt b/feature/achievements/src/main/java/io/github/droidkaigi/confsched2023/achievements/AchievementsScreen.kt index 1a51916d8..8489b00c8 100644 --- a/feature/achievements/src/main/java/io/github/droidkaigi/confsched2023/achievements/AchievementsScreen.kt +++ b/feature/achievements/src/main/java/io/github/droidkaigi/confsched2023/achievements/AchievementsScreen.kt @@ -28,6 +28,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController +import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import io.github.droidkaigi.confsched2023.achievements.section.AchievementList @@ -55,6 +56,9 @@ fun NavGraphBuilder.nestedAchievementsScreen( fun NavController.navigateAchievementsScreen() { navigate(achievementsScreenRoute) { + popUpTo(id = graph.findStartDestination().id) { + saveState = true + } launchSingleTop = true restoreState = true } diff --git a/feature/floor-map/src/main/java/io/github/droidkaigi/confsched2023/floormap/FloorMapScreen.kt b/feature/floor-map/src/main/java/io/github/droidkaigi/confsched2023/floormap/FloorMapScreen.kt index 0a85e3086..51f05c34c 100644 --- a/feature/floor-map/src/main/java/io/github/droidkaigi/confsched2023/floormap/FloorMapScreen.kt +++ b/feature/floor-map/src/main/java/io/github/droidkaigi/confsched2023/floormap/FloorMapScreen.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController +import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import io.github.droidkaigi.confsched2023.designsystem.preview.MultiLanguagePreviews @@ -83,6 +84,9 @@ fun NavGraphBuilder.nestedFloorMapScreen( fun NavController.navigateFloorMapScreen() { navigate(floorMapScreenRoute) { + popUpTo(id = graph.findStartDestination().id) { + saveState = true + } launchSingleTop = true restoreState = true } diff --git a/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/TimetableScreen.kt b/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/TimetableScreen.kt index 9825c56a3..93075e23a 100644 --- a/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/TimetableScreen.kt +++ b/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/TimetableScreen.kt @@ -35,6 +35,7 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController +import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import io.github.droidkaigi.confsched2023.designsystem.preview.MultiThemePreviews @@ -74,6 +75,9 @@ fun NavGraphBuilder.nestedSessionScreens( fun NavController.navigateTimetableScreen() { navigate(timetableScreenRoute) { + popUpTo(id = graph.findStartDestination().id) { + saveState = true + } launchSingleTop = true restoreState = true }