diff --git a/app/src/main/java/org/linphone/activities/ProximitySensorActivity.kt b/app/src/main/java/org/linphone/activities/ProximitySensorActivity.kt index e66befe35..10622685f 100644 --- a/app/src/main/java/org/linphone/activities/ProximitySensorActivity.kt +++ b/app/src/main/java/org/linphone/activities/ProximitySensorActivity.kt @@ -23,7 +23,6 @@ import android.content.Context import android.os.Bundle import android.os.PowerManager import android.os.PowerManager.RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY -import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.core.tools.Log abstract class ProximitySensorActivity : GenericActivity() { @@ -44,15 +43,6 @@ abstract class ProximitySensorActivity : GenericActivity() { ) } - override fun onResume() { - super.onResume() - - if (coreContext.core.callsNb > 0) { - val videoEnabled = coreContext.core.currentCall?.currentParams?.isVideoEnabled ?: false - enableProximitySensor(!videoEnabled) - } - } - override fun onPause() { enableProximitySensor(false) @@ -68,7 +58,7 @@ abstract class ProximitySensorActivity : GenericActivity() { protected fun enableProximitySensor(enable: Boolean) { if (enable) { if (!proximitySensorEnabled) { - Log.i("[Proximity Sensor Activity] Enabling proximity sensor turning off screen") + Log.i("[Proximity Sensor Activity] Enabling proximity sensor (turning screen OFF when wake lock is acquired)") if (!proximityWakeLock.isHeld) { Log.i("[Proximity Sensor Activity] Acquiring PROXIMITY_SCREEN_OFF_WAKE_LOCK") proximityWakeLock.acquire() @@ -77,9 +67,9 @@ abstract class ProximitySensorActivity : GenericActivity() { } } else { if (proximitySensorEnabled) { - Log.i("[Proximity Sensor Activity] Disabling proximity sensor turning off screen") + Log.i("[Proximity Sensor Activity] Disabling proximity sensor (turning screen ON when wake lock is released)") if (proximityWakeLock.isHeld) { - Log.i("[Proximity Sensor Activity] Releasing PROXIMITY_SCREEN_OFF_WAKE_LOCK") + Log.i("[Proximity Sensor Activity] Asking to release PROXIMITY_SCREEN_OFF_WAKE_LOCK next time sensor detects no proximity") proximityWakeLock.release(RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY) } proximitySensorEnabled = false 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 fa6482ae4..16ff9d6a0 100644 --- a/app/src/main/java/org/linphone/activities/voip/CallActivity.kt +++ b/app/src/main/java/org/linphone/activities/voip/CallActivity.kt @@ -104,6 +104,7 @@ class CallActivity : ProximitySensorActivity() { controlsViewModel.proximitySensorEnabled.observe( this ) { enabled -> + Log.i("[Call Activity] ${if (enabled) "Enabling" else "Disabling"} proximity sensor (if possible)") enableProximitySensor(enabled) } 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 047f10b92..dd6bb4d98 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 @@ -483,6 +483,16 @@ class ControlsViewModel : ViewModel() { } private fun shouldProximitySensorBeEnabled(): Boolean { - return forceDisableProximitySensor.value == false && !(isVideoEnabled.value ?: false) && !(nonEarpieceOutputAudioDevice.value ?: false) + if (forceDisableProximitySensor.value == true) { + Log.i("[Call Controls] Forcing proximity sensor to be disabled (usually in incoming/outgoing call fragments)") + } else if (isVideoEnabled.value == true) { + Log.i("[Call Controls] Active call current params says video is enabled, proximity sensor will be disabled") + } else if (nonEarpieceOutputAudioDevice.value == true) { + Log.i("[Call Controls] Current audio route is not earpiece, proximity sensor will be disabled") + } + + return forceDisableProximitySensor.value == false && + !(isVideoEnabled.value ?: false) && + !(nonEarpieceOutputAudioDevice.value ?: false) } } diff --git a/app/src/main/res/layout/voip_conference_call_fragment.xml b/app/src/main/res/layout/voip_conference_call_fragment.xml index 9f92b5d2d..8776fa9f2 100644 --- a/app/src/main/res/layout/voip_conference_call_fragment.xml +++ b/app/src/main/res/layout/voip_conference_call_fragment.xml @@ -111,7 +111,7 @@ android:id="@+id/stubbed_paused_conference" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_marginBottom="5dp" + android:layout_marginBottom="2dp" android:layout="@layout/voip_conference_paused" android:visibility="@{conferenceViewModel.isConferenceLocallyPaused ? View.VISIBLE : View.GONE, default=gone}" app:conferenceViewModel="@{conferenceViewModel}"