Fix potential race and crash when deleting a call link.

This commit is contained in:
Alex Hart
2025-11-24 12:57:21 -04:00
committed by GitHub
parent 246abb9b80
commit 7640dde28f
2 changed files with 4 additions and 2 deletions

View File

@@ -65,6 +65,10 @@ class CallLinkDetailsActivity : FragmentActivity() {
}.show(supportFragmentManager, null) }.show(supportFragmentManager, null)
} }
is MainNavigationDetailLocation.Empty -> {
finishAfterTransition()
}
else -> error("Unsupported route $location") else -> error("Unsupported route $location")
} }
} }

View File

@@ -46,7 +46,6 @@ import org.thoughtcrime.securesms.calls.links.CallLinks
import org.thoughtcrime.securesms.calls.links.SignalCallRow import org.thoughtcrime.securesms.calls.links.SignalCallRow
import org.thoughtcrime.securesms.database.CallLinkTable import org.thoughtcrime.securesms.database.CallLinkTable
import org.thoughtcrime.securesms.main.MainNavigationDetailLocation import org.thoughtcrime.securesms.main.MainNavigationDetailLocation
import org.thoughtcrime.securesms.main.MainNavigationListLocation
import org.thoughtcrime.securesms.main.MainNavigationRouter import org.thoughtcrime.securesms.main.MainNavigationRouter
import org.thoughtcrime.securesms.main.MainNavigationViewModel import org.thoughtcrime.securesms.main.MainNavigationViewModel
import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.recipients.RecipientId
@@ -154,7 +153,6 @@ class DefaultCallLinkDetailsCallback(
viewModel.setDisplayRevocationDialog(false) viewModel.setDisplayRevocationDialog(false)
activity.lifecycleScope.launch { activity.lifecycleScope.launch {
if (viewModel.delete()) { if (viewModel.delete()) {
router.goTo(MainNavigationListLocation.CALLS)
router.goTo(MainNavigationDetailLocation.Empty) router.goTo(MainNavigationDetailLocation.Empty)
} }
} }