diff --git a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt index 25d1ffc14..50a20f56c 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactViewModel.kt @@ -154,6 +154,7 @@ class ContactViewModel @UiThread constructor() : ViewModel() { } } + @UiThread override fun onCleared() { super.onCleared() diff --git a/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt index 5243a0b1c..ba87118d9 100644 --- a/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/voip/viewmodel/CurrentCallViewModel.kt @@ -28,6 +28,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import java.util.Locale import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.R import org.linphone.core.AudioDevice import org.linphone.core.Call import org.linphone.core.CallListenerStub @@ -36,6 +37,7 @@ import org.linphone.core.MediaEncryption import org.linphone.core.tools.Log import org.linphone.ui.main.contacts.model.ContactAvatarModel import org.linphone.ui.voip.model.AudioDeviceModel +import org.linphone.utils.AppUtils import org.linphone.utils.AudioRouteUtils import org.linphone.utils.Event import org.linphone.utils.LinphoneUtils @@ -71,6 +73,10 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { val halfOpenedFolded = MutableLiveData() + val incomingCallTitle: MutableLiveData by lazy { + MutableLiveData() + } + // To synchronize chronometers in UI val callDuration = MutableLiveData() @@ -365,6 +371,20 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { private fun configureCall(call: Call) { call.addListener(callListener) + if (call.dir == Call.Dir.Incoming) { + if (call.core.accountList.size > 1) { + val displayName = LinphoneUtils.getDisplayName(call.toAddress) + incomingCallTitle.postValue( + AppUtils.getFormattedString( + R.string.call_incoming_for_account, + displayName + ) + ) + } else { + incomingCallTitle.postValue(AppUtils.getString(R.string.call_incoming)) + } + } + if (LinphoneUtils.isCallOutgoing(call.state)) { isVideoEnabled.postValue(call.params.isVideoEnabled) } else { diff --git a/app/src/main/res/layout/voip_active_call_fragment.xml b/app/src/main/res/layout/voip_active_call_fragment.xml index 07a048b70..6e1206c98 100644 --- a/app/src/main/res/layout/voip_active_call_fragment.xml +++ b/app/src/main/res/layout/voip_active_call_fragment.xml @@ -156,7 +156,7 @@ android:layout_marginStart="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" - android:text="@{viewModel.isOutgoing ? @string/call_outgoing : @string/call_incoming, default=@string/call_outgoing}" + android:text="@{viewModel.isOutgoing ? @string/call_outgoing : viewModel.incomingCallTitle, default=@string/call_outgoing}" app:layout_constraintStart_toEndOf="@id/call_direction_icon" app:layout_constraintTop_toTopOf="@id/hinge_top" app:layout_constraintBottom_toTopOf="@id/background"/> diff --git a/app/src/main/res/layout/voip_incoming_call_fragment.xml b/app/src/main/res/layout/voip_incoming_call_fragment.xml index 391a9b62d..bd45566cf 100644 --- a/app/src/main/res/layout/voip_incoming_call_fragment.xml +++ b/app/src/main/res/layout/voip_incoming_call_fragment.xml @@ -34,7 +34,7 @@ android:layout_marginStart="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" - android:text="@string/call_incoming" + android:text="@{viewModel.incomingCallTitle, default=@string/call_incoming}" app:layout_constraintStart_toEndOf="@id/call_direction_icon" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@id/background"/> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 44cb62041..9c75b6a8c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -268,6 +268,7 @@ Outgoing call Incoming call + Incoming call for %s Operation in progress, please wait