Simplified callClick function

This commit is contained in:
Juha Heinanen
2026-05-01 14:14:30 +03:00
parent 1bbde476c0
commit 4cf2b5c078
@@ -2032,33 +2032,47 @@ private fun spinToAor(viewModel: ViewModel, aor: String) {
} }
private fun callClick(ctx: Context, viewModel: ViewModel, dialerState: ViewModel.DialerState?) { private fun callClick(ctx: Context, viewModel: ViewModel, dialerState: ViewModel.DialerState?) {
if (viewModel.selectedAor.value != "") { if (viewModel.selectedAor.value != "" && dialerState != null) {
if (Utils.checkPermissions(ctx, arrayOf(RECORD_AUDIO))) { val uriText = dialerState.callUri.value.trim()
if (dialerState != null) { if (uriText.isNotEmpty()) {
val uriText = dialerState.callUri.value.trim() if (Utils.checkPermissions(ctx, arrayOf(RECORD_AUDIO))) {
if (uriText.isNotEmpty()) { val uris = Contact.contactUris(uriText)
val uris = Contact.contactUris(uriText) if (uris.isEmpty())
if (uris.isEmpty()) makeCall(
makeCall(ctx, viewModel, uriText, dialerState.showCallConferenceButton.value) ctx,
else if (uris.size == 1) viewModel,
makeCall(ctx, viewModel, uris[0], dialerState.showCallConferenceButton.value) uriText,
else { dialerState.showCallConferenceButton.value
selectItems.value = uris )
selectItemAction.value = { index -> else if (uris.size == 1)
makeCall(ctx, viewModel, uris[index], dialerState.showCallConferenceButton.value) makeCall(
} ctx,
showSelectItemDialog.value = true viewModel,
uris[0],
dialerState.showCallConferenceButton.value
)
else {
selectItems.value = uris
selectItemAction.value = { index ->
makeCall(
ctx,
viewModel,
uris[index],
dialerState.showCallConferenceButton.value
)
} }
} else { showSelectItemDialog.value = true
val ua = UserAgent.ofAor(viewModel.selectedAor.value)!!
val latestPeerUri = CallHistoryNew.aorLatestPeerUri(ua.account.aor)
if (latestPeerUri != null)
dialerState.callUri.value = Utils.friendlyUri(ctx, latestPeerUri, ua.account)
} }
} }
else
Toast.makeText(ctx, R.string.no_calls, Toast.LENGTH_SHORT).show()
}
else {
val ua = UserAgent.ofAor(viewModel.selectedAor.value)!!
val latestPeerUri = CallHistoryNew.aorLatestPeerUri(ua.account.aor)
if (latestPeerUri != null)
dialerState.callUri.value = Utils.friendlyUri(ctx, latestPeerUri, ua.account)
} }
else
Toast.makeText(ctx, R.string.no_calls, Toast.LENGTH_SHORT).show()
} }
} }