From 7640dde28f3387300db4cbfdda9fb6ec08c572ed Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 24 Nov 2025 12:57:21 -0400 Subject: [PATCH] Fix potential race and crash when deleting a call link. --- .../securesms/calls/links/details/CallLinkDetailsActivity.kt | 4 ++++ .../securesms/calls/links/details/CallLinkDetailsScreen.kt | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt index 7cf2088827..89767188a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt @@ -65,6 +65,10 @@ class CallLinkDetailsActivity : FragmentActivity() { }.show(supportFragmentManager, null) } + is MainNavigationDetailLocation.Empty -> { + finishAfterTransition() + } + else -> error("Unsupported route $location") } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt index 05a74cedb8..fb51eb1811 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt @@ -46,7 +46,6 @@ import org.thoughtcrime.securesms.calls.links.CallLinks import org.thoughtcrime.securesms.calls.links.SignalCallRow import org.thoughtcrime.securesms.database.CallLinkTable import org.thoughtcrime.securesms.main.MainNavigationDetailLocation -import org.thoughtcrime.securesms.main.MainNavigationListLocation import org.thoughtcrime.securesms.main.MainNavigationRouter import org.thoughtcrime.securesms.main.MainNavigationViewModel import org.thoughtcrime.securesms.recipients.RecipientId @@ -154,7 +153,6 @@ class DefaultCallLinkDetailsCallback( viewModel.setDisplayRevocationDialog(false) activity.lifecycleScope.launch { if (viewModel.delete()) { - router.goTo(MainNavigationListLocation.CALLS) router.goTo(MainNavigationDetailLocation.Empty) } }