From dfe64c11d27c709deb33185f47ec5e8943a62ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sun, 19 Apr 2026 21:58:30 +0800 Subject: [PATCH] Fix back gesture from connection details skipping list On phones, the Connections list and Connection Details share a single ModalBottomSheet. System back was consumed by the sheet's default dismiss handler, closing the sheet and returning to Dashboard. The in-app back button just cleared selectedConnectionId, returning to the list. Add a BackHandler that runs only while a connection is selected, matching the in-app back button behavior. Swipe-to-dismiss remains unchanged. --- app/src/main/java/io/nekohasekai/sfa/compose/MainActivity.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/io/nekohasekai/sfa/compose/MainActivity.kt b/app/src/main/java/io/nekohasekai/sfa/compose/MainActivity.kt index 60441e3..56e8639 100644 --- a/app/src/main/java/io/nekohasekai/sfa/compose/MainActivity.kt +++ b/app/src/main/java/io/nekohasekai/sfa/compose/MainActivity.kt @@ -8,6 +8,7 @@ import android.net.Uri import android.net.VpnService import android.os.Build import android.os.Bundle +import androidx.activity.compose.BackHandler import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.result.contract.ActivityResultContracts @@ -1107,6 +1108,10 @@ class MainActivity : } } + BackHandler(enabled = selectedConnectionId != null) { + selectedConnectionId = null + } + ModalBottomSheet( onDismissRequest = { showConnectionsSheet = false