From 163e2adfdec5bea0489bfb1c56ded000762e79db Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 6 Dec 2022 10:34:47 +0100 Subject: [PATCH] Added setting to allow to switch to fullscreen automatically when a video call is answered (disabled by default) --- .../voip/fragments/SingleCallFragment.kt | 16 +++++++++++++--- .../java/org/linphone/core/CorePreferences.kt | 6 ++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/voip/fragments/SingleCallFragment.kt b/app/src/main/java/org/linphone/activities/voip/fragments/SingleCallFragment.kt index 57ecad8c5..4af5d65e2 100644 --- a/app/src/main/java/org/linphone/activities/voip/fragments/SingleCallFragment.kt +++ b/app/src/main/java/org/linphone/activities/voip/fragments/SingleCallFragment.kt @@ -29,6 +29,7 @@ import androidx.constraintlayout.widget.ConstraintSet import androidx.navigation.navGraphViewModels import androidx.window.layout.FoldingFeature import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.* import org.linphone.activities.main.MainActivity @@ -78,12 +79,21 @@ class SingleCallFragment : GenericVideoPreviewFragment + if (callData != null) { + val call = callData.call + val timer = binding.root.findViewById(R.id.active_call_timer) timer.base = - SystemClock.elapsedRealtime() - (1000 * it.call.duration) // Linphone timestamps are in seconds + SystemClock.elapsedRealtime() - (1000 * call.duration) // Linphone timestamps are in seconds timer.start() + + if (corePreferences.enableFullScreenWhenJoiningVideoCall) { + if (call.currentParams.isVideoEnabled) { + Log.i("[Single Call] Call params have video enabled, enabling full screen mode") + controlsViewModel.fullScreenMode.value = true + } + } } } diff --git a/app/src/main/java/org/linphone/core/CorePreferences.kt b/app/src/main/java/org/linphone/core/CorePreferences.kt index 8c4c5df82..c74dd76d3 100644 --- a/app/src/main/java/org/linphone/core/CorePreferences.kt +++ b/app/src/main/java/org/linphone/core/CorePreferences.kt @@ -359,6 +359,12 @@ class CorePreferences constructor(private val context: Context) { config.setBool("audio", "android_pause_calls_when_audio_focus_lost", value) } + var enableFullScreenWhenJoiningVideoCall: Boolean + get() = config.getBool("app", "enter_video_call_enable_full_screen_mode", false) + set(value) { + config.setBool("app", "enter_video_call_enable_full_screen_mode", value) + } + var enableFullScreenWhenJoiningVideoConference: Boolean get() = config.getBool("app", "enter_video_conference_enable_full_screen_mode", true) set(value) {