Always resume to active call on main screen if there is one

This commit is contained in:
Juha Heinanen
2026-04-01 17:17:38 +03:00
parent 846fcb5bc7
commit b0f4476672
@@ -234,20 +234,13 @@ private fun MainScreen(
Lifecycle.Event.ON_RESUME -> { Lifecycle.Event.ON_RESUME -> {
Log.d(TAG, "Resumed to MainScreen") Log.d(TAG, "Resumed to MainScreen")
BaresipService.isMainVisible = true BaresipService.isMainVisible = true
val incomingCall = Call.call("incoming")
viewModel.updateCalls(Call.calls().toList()) viewModel.updateCalls(Call.calls().toList())
if (incomingCall != null) (Call.call("incoming") ?: Call.calls().lastOrNull())?.let {
spinToAor(viewModel, incomingCall.ua.account.aor) spinToAor(viewModel, it.ua.account.aor)
else { } ?: run {
if (uas.value.isNotEmpty()) { if (uas.value.isNotEmpty() && viewModel.selectedAor.value == "")
if (viewModel.selectedAor.value == "") {
if (Call.inCall())
spinToAor(viewModel, Call.calls().last().ua.account.aor)
else
spinToAor(viewModel, uas.value.first().account.aor) spinToAor(viewModel, uas.value.first().account.aor)
} }
}
}
val ua = UserAgent.ofAor(viewModel.selectedAor.value) val ua = UserAgent.ofAor(viewModel.selectedAor.value)
if (ua != null) { if (ua != null) {
showCall(ctx, viewModel, ua) showCall(ctx, viewModel, ua)