diff --git a/app/src/main/java/org/linphone/activities/voip/CallActivity.kt b/app/src/main/java/org/linphone/activities/voip/CallActivity.kt index 733aad567..6e3700777 100644 --- a/app/src/main/java/org/linphone/activities/voip/CallActivity.kt +++ b/app/src/main/java/org/linphone/activities/voip/CallActivity.kt @@ -120,7 +120,7 @@ class CallActivity : ProximitySensorActivity() { override fun onUserLeaveHint() { super.onUserLeaveHint() - if (coreContext.core.currentCall?.currentParams?.isVideoEnabled ?: false) { + if (coreContext.core.currentCall?.currentParams?.isVideoEnabled == true) { Log.i("[Call] Entering PiP mode") Compatibility.enterPipMode(this) } diff --git a/app/src/main/java/org/linphone/activities/voip/fragments/ActiveCallOrConferenceFragment.kt b/app/src/main/java/org/linphone/activities/voip/fragments/ActiveCallOrConferenceFragment.kt index 4b5003241..621d45d10 100644 --- a/app/src/main/java/org/linphone/activities/voip/fragments/ActiveCallOrConferenceFragment.kt +++ b/app/src/main/java/org/linphone/activities/voip/fragments/ActiveCallOrConferenceFragment.kt @@ -134,13 +134,15 @@ class ActiveCallOrConferenceFragment : GenericFragment - if (corePreferences.enableFullScreenWhenJoiningVideoConference) { - if (conference != null && conference.currentParams.isVideoEnabled) { - if (conference.me.devices.find { it.getStreamAvailability(StreamType.Video) } != null) { - Log.i("[Call] Conference is video & our device has video enabled, enabling full screen mode") - controlsViewModel.fullScreenMode.value = true - } - } + if (conference != null) switchToFullScreenIfPossible(conference) + } + + conferenceViewModel.conferenceCreationPending.observe( + viewLifecycleOwner + ) { creationPending -> + if (!creationPending) { + val conference = conferenceViewModel.conference.value + if (conference != null) switchToFullScreenIfPossible(conference) } } @@ -321,6 +323,25 @@ class ActiveCallOrConferenceFragment : GenericFragment { + Log.w("[Call] Conference has video enabled but either our device hasn't joined yet") + } + conference.me.devices.find { it.getStreamAvailability(StreamType.Video) } != null -> { + Log.i("[Call] Conference has video enabled & our device has video enabled, enabling full screen mode") + controlsViewModel.fullScreenMode.value = true + } + else -> { + Log.w("[Call] Conference has video enabled but our device video is disabled") + } + } + } + } + } + private fun goToChat() { val intent = Intent() intent.setClass(requireContext(), MainActivity::class.java)