From eadf0ffc759c8640d6a7d7c22c8be22ea5bdad58 Mon Sep 17 00:00:00 2001 From: DaneEvans Date: Tue, 8 Jul 2025 22:19:55 +1000 Subject: [PATCH] Closing popup navs back to settings page (#2389) --- .../radioconfig/components/PacketResponseStateDialog.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/radioconfig/components/PacketResponseStateDialog.kt b/app/src/main/java/com/geeksville/mesh/ui/radioconfig/components/PacketResponseStateDialog.kt index 179be8132..b3428b24f 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/radioconfig/components/PacketResponseStateDialog.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/radioconfig/components/PacketResponseStateDialog.kt @@ -17,6 +17,7 @@ package com.geeksville.mesh.ui.radioconfig.components +import androidx.activity.compose.LocalOnBackPressedDispatcherOwner import androidx.compose.animation.core.animateFloatAsState import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -44,6 +45,7 @@ fun PacketResponseStateDialog( onDismiss: () -> Unit = {}, onComplete: () -> Unit = {}, ) { + val backDispatcher = LocalOnBackPressedDispatcherOwner.current?.onBackPressedDispatcher AlertDialog( onDismissRequest = {}, shape = RoundedCornerShape(16.dp), @@ -83,7 +85,12 @@ fun PacketResponseStateDialog( horizontalArrangement = Arrangement.Center ) { Button( - onClick = onDismiss, + onClick = { + onDismiss() + if (state is ResponseState.Success || state is ResponseState.Error) { + backDispatcher?.onBackPressed() + } + }, modifier = Modifier.padding(top = 16.dp) ) { Text(stringResource(R.string.close)) } }