diff --git a/app/src/main/java/org/linphone/activities/voip/viewmodels/ControlsViewModel.kt b/app/src/main/java/org/linphone/activities/voip/viewmodels/ControlsViewModel.kt index d239e9b95..047f10b92 100644 --- a/app/src/main/java/org/linphone/activities/voip/viewmodels/ControlsViewModel.kt +++ b/app/src/main/java/org/linphone/activities/voip/viewmodels/ControlsViewModel.kt @@ -55,6 +55,8 @@ class ControlsViewModel : ViewModel() { val isOutgoingEarlyMedia = MutableLiveData() + val isIncomingEarlyMediaVideo = MutableLiveData() + val showExtras = MutableLiveData() val fullScreenMode = MutableLiveData() @@ -113,8 +115,9 @@ class ControlsViewModel : ViewModel() { message: String ) { Log.i("[Call Controls] State changed: $state") - isOutgoingEarlyMedia.value = state == Call.State.OutgoingEarlyMedia + isIncomingEarlyMediaVideo.value = state == Call.State.IncomingEarlyMedia && call.remoteParams?.isVideoEnabled == true + if (state == Call.State.StreamsRunning) { if (!call.currentParams.isVideoEnabled && fullScreenMode.value == true) { fullScreenMode.value = false @@ -213,6 +216,12 @@ class ControlsViewModel : ViewModel() { proximitySensorEnabled.value = shouldProximitySensorBeEnabled() } + val currentCall = coreContext.core.currentCall ?: coreContext.core.calls.firstOrNull() + val state = currentCall?.state ?: Call.State.Idle + Log.i("[Call Controls] Current state is: $state") + isOutgoingEarlyMedia.value = state == Call.State.OutgoingEarlyMedia + isIncomingEarlyMediaVideo.value = state == Call.State.IncomingEarlyMedia && currentCall?.remoteParams?.isVideoEnabled == true + updateUI() if (corePreferences.enableAnimations) bounceAnimator.start() diff --git a/app/src/main/res/layout/voip_call_incoming_fragment.xml b/app/src/main/res/layout/voip_call_incoming_fragment.xml index c5ab0cfbc..f850c4f17 100644 --- a/app/src/main/res/layout/voip_call_incoming_fragment.xml +++ b/app/src/main/res/layout/voip_call_incoming_fragment.xml @@ -53,6 +53,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" + android:visibility="@{callsViewModel.currentCallData.isConferenceCall ? View.GONE : View.VISIBLE, default=visible}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/incoming_call_title" /> @@ -180,12 +181,39 @@ + + + + + android:visibility="@{callsViewModel.currentCallData.isConferenceCall || controlsViewModel.isIncomingEarlyMediaVideo ? View.GONE : View.VISIBLE, default=visible}" + app:constraint_referenced_ids="avatar, caller_name, sipAddress" /> + +