From 00295c969e48431288bec0711905275cbcd21bb6 Mon Sep 17 00:00:00 2001 From: Jeremiah K <17190268+jeremiah-k@users.noreply.github.com> Date: Mon, 16 Jun 2025 11:52:57 -0500 Subject: [PATCH] Fix node removal hang by adding navigation callback (#2134) --- .../main/java/com/geeksville/mesh/navigation/NodesRoutes.kt | 3 +++ app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/app/src/main/java/com/geeksville/mesh/navigation/NodesRoutes.kt b/app/src/main/java/com/geeksville/mesh/navigation/NodesRoutes.kt index 53548c262..bfd1579d0 100644 --- a/app/src/main/java/com/geeksville/mesh/navigation/NodesRoutes.kt +++ b/app/src/main/java/com/geeksville/mesh/navigation/NodesRoutes.kt @@ -129,6 +129,9 @@ fun NavGraphBuilder.nodeDetailGraph( onNavigate = { navController.navigate(it) }, + onNavigateUp = { + navController.navigateUp() + }, viewModel = hiltViewModel(parentEntry), ) } diff --git a/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt b/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt index 2c6c50957..017c4e310 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt @@ -184,6 +184,7 @@ fun NodeDetailScreen( uiViewModel: UIViewModel = hiltViewModel(), navigateToMessages: (String) -> Unit, onNavigate: (Route) -> Unit = {}, + onNavigateUp: () -> Unit = {}, ) { val state by viewModel.state.collectAsStateWithLifecycle() val environmentState by viewModel.environmentState.collectAsStateWithLifecycle() @@ -229,6 +230,9 @@ fun NodeDetailScreen( val channel = if (hasPKC) DataPacket.PKC_CHANNEL_INDEX else node.channel navigateToMessages("$channel${node.user.id}") + } else if (action is NodeMenuAction.Remove) { + uiViewModel.handleNodeMenuAction(action) + onNavigateUp() } else { uiViewModel.handleNodeMenuAction(action) }