In case incoming call is diverted, show also diverter

This commit is contained in:
Juha Heinanen
2026-05-03 10:40:24 +03:00
parent f71defcaae
commit 46a5526eab
2 changed files with 28 additions and 4 deletions

View File

@ -29,6 +29,8 @@ class Call(val callp: Long, val ua: UserAgent, val peerUri: String, val dir: Str
val callUri: MutableState<String> = mutableStateOf("")
val callUriEnabled: MutableState<Boolean> = mutableStateOf(true)
val callUriLabel: MutableState<String> = mutableStateOf("")
val callUri2: MutableState<String> = mutableStateOf("")
val callUriLabel2: MutableState<String> = mutableStateOf("")
val securityIconTint: MutableState<Int> = mutableIntStateOf(-1)
val showCallTimer: MutableState<Boolean> = mutableStateOf(false)
var callDuration: Int = 0

View File

@ -1292,6 +1292,25 @@ private fun CallUriRow(
imeAction = ImeAction.Default
)
)
if (!isDialer && call!!.callUri2.value != "") {
Spacer(modifier = Modifier.height(8.dp))
OutlinedTextField(
value = call.callUri2.value,
readOnly = true,
singleLine = true,
onValueChange = {},
modifier = Modifier
.fillMaxWidth()
.padding(start = 4.dp, end = 4.dp, top = 2.dp, bottom = 2.dp),
label = {
Text(
text = call.callUriLabel2.value,
fontSize = 18.sp
)
},
textStyle = TextStyle(fontSize = 18.sp)
)
}
Spacer(modifier = Modifier.height(8.dp))
Column(
modifier = Modifier
@ -2251,6 +2270,7 @@ private fun showCall(ctx: Context, viewModel: ViewModel, ua: UserAgent?, showCal
else
ctx.getString(R.string.outgoing_call_to_dots)
call.callUri.value = Utils.friendlyUri(ctx, call.peerUri, ua.account)
call.callUri2.value = ""
call.showCallTimer.value = false
call.securityIconTint.value = -1
call.showCallButton.value = false
@ -2263,14 +2283,15 @@ private fun showCall(ctx: Context, viewModel: ViewModel, ua: UserAgent?, showCal
"incoming" -> {
call.showCallTimer.value = false
call.securityIconTint.value = -1
call.callUriLabel.value = ctx.getString(R.string.incoming_call_from_dots)
call.callUri.value = Utils.friendlyUri(ctx, call.peerUri, ua.account)
val uri = call.diverterUri()
if (uri != "") {
call.callUriLabel.value = ctx.getString(R.string.diverted_by_dots)
call.callUri.value = Utils.friendlyUri(ctx, uri, ua.account)
call.callUriLabel2.value = ctx.getString(R.string.diverted_by_dots)
call.callUri2.value = Utils.friendlyUri(ctx, uri, ua.account)
}
else {
call.callUriLabel.value = ctx.getString(R.string.incoming_call_from_dots)
call.callUri.value = Utils.friendlyUri(ctx, call.peerUri, ua.account)
call.callUri2.value = ""
}
call.showCallButton.value = false
call.showCancelButton.value = false
@ -2294,6 +2315,7 @@ private fun showCall(ctx: Context, viewModel: ViewModel, ua: UserAgent?, showCal
}
call.transferButtonEnabled.value = true
}
call.callUri2.value = ""
call.callTransfer.value = call.onHoldCall != null
call.callDuration = call.duration()
call.showCallTimer.value = true