diff --git a/app/src/main/java/com/geeksville/mesh/ui/contact/AdaptiveContactsScreen.kt b/app/src/main/java/com/geeksville/mesh/ui/contact/AdaptiveContactsScreen.kt index 8b499311b..03e984917 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/contact/AdaptiveContactsScreen.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/contact/AdaptiveContactsScreen.kt @@ -17,6 +17,7 @@ package com.geeksville.mesh.ui.contact +import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -67,6 +68,10 @@ fun AdaptiveContactsScreen( val scope = rememberCoroutineScope() val backNavigationBehavior = BackNavigationBehavior.PopUntilScaffoldValueChange + BackHandler(enabled = navigator.currentDestination?.pane == ListDetailPaneScaffoldRole.Detail) { + scope.launch { navigator.navigateBack(backNavigationBehavior) } + } + LaunchedEffect(initialContactKey) { if (initialContactKey != null) { navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, initialContactKey) diff --git a/app/src/main/java/com/geeksville/mesh/ui/node/AdaptiveNodeListScreen.kt b/app/src/main/java/com/geeksville/mesh/ui/node/AdaptiveNodeListScreen.kt index b74937832..f4db4c311 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/node/AdaptiveNodeListScreen.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/node/AdaptiveNodeListScreen.kt @@ -17,6 +17,7 @@ package com.geeksville.mesh.ui.node +import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -66,6 +67,10 @@ fun AdaptiveNodeListScreen( val scope = rememberCoroutineScope() val backNavigationBehavior = BackNavigationBehavior.PopUntilScaffoldValueChange + BackHandler(enabled = navigator.currentDestination?.pane == ListDetailPaneScaffoldRole.Detail) { + scope.launch { navigator.navigateBack(backNavigationBehavior) } + } + LaunchedEffect(initialNodeId) { if (initialNodeId != null) { navigator.navigateTo(ListDetailPaneScaffoldRole.Detail, initialNodeId)