From b652e2d5f9d5e4050bb81c1945b7078c07fa0191 Mon Sep 17 00:00:00 2001 From: Jeffrey Starke Date: Fri, 26 Jun 2026 12:51:37 -0400 Subject: [PATCH] Fix empty detail screen showing after exiting a conversation in single pane mode. Resolves https://github.com/signalapp/Signal-Android/issues/14850 --- .../securesms/main/MainNavigationViewModel.kt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationViewModel.kt index b531cfbdf5..6afc080e8b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationViewModel.kt @@ -337,7 +337,7 @@ class MainNavigationViewModel( chatsBackStack.pop() if (chatsBackStack.isEmpty) { lockPaneToSecondary = true - setFocusedPane(ThreePaneScaffoldRole.Secondary) + popDetailPane() } } @@ -345,7 +345,21 @@ class MainNavigationViewModel( backStack.reset() if (!isSplitPane) { lockPaneToSecondary = true - setFocusedPane(ThreePaneScaffoldRole.Secondary) + popDetailPane() + } + } + + private fun popDetailPane() { + navigatorScope?.launch { + navigator?.let { scaffoldNavigator -> + if (scaffoldNavigator.canNavigateBack()) { + scaffoldNavigator.navigateBack() + } + } + } + + viewModelScope.launch { + internalPaneFocusRequests.emit(ThreePaneScaffoldRole.Secondary) } }