From e71174995b53e8dabe4d6cdf550d117e80842bf7 Mon Sep 17 00:00:00 2001 From: Zane Schepke Date: Tue, 4 Nov 2025 03:39:23 -0500 Subject: [PATCH] fix: tab back navigation bug --- .../ui/navigation/NavController.kt | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/navigation/NavController.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/navigation/NavController.kt index 31bc61f1..0dece988 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/navigation/NavController.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/navigation/NavController.kt @@ -22,24 +22,14 @@ class NavController( return false } - fun popUpTo(route: NavKey, inclusive: Boolean = false) { + fun popUpTo(route: NavKey) { onChange(currentRoute) val targetRoute = if (route is Route.AutoTunnel && !isDisclosureShown) Route.LocationDisclosure else route - - val index = backStack.indexOfLast { it == targetRoute } - if (index != -1) { - val popUpToIndex = if (inclusive) index else index + 1 - while (backStack.size > popUpToIndex) { - backStack.removeLastOrNull() - } - } else { - // Only add if it's not already the top - if (backStack.lastOrNull() != targetRoute) { - backStack.add(targetRoute) - } - } + backStack.clear() + if (route is Route.Tunnels) backStack.add(targetRoute) + else backStack.addAll(setOf(Route.Tunnels, targetRoute)) } val currentRoute: NavKey?