From 2f529535b1e8f203d871aa5223d450fea4e3cb40 Mon Sep 17 00:00:00 2001 From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com> Date: Tue, 21 Mar 2023 00:17:13 +0300 Subject: [PATCH] android: turn of screen in call (#2037) --- .../java/chat/simplex/app/views/call/CallView.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/call/CallView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/call/CallView.kt index aa9e6acaa1..26a3c23c66 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/call/CallView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/call/CallView.kt @@ -5,10 +5,10 @@ import android.annotation.SuppressLint import android.app.Activity import android.content.* import android.content.pm.ActivityInfo -import android.media.AudioDeviceCallback -import android.media.AudioDeviceInfo -import android.media.AudioManager +import android.media.* import android.os.Build +import android.os.PowerManager +import android.os.PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK import android.util.Log import android.view.ViewGroup import android.webkit.* @@ -90,11 +90,19 @@ fun ActiveCallView(chatModel: ChatModel) { } } am.registerAudioDeviceCallback(audioCallback, null) + val pm = (SimplexApp.context.getSystemService(Context.POWER_SERVICE) as PowerManager) + val proximityLock = if (pm.isWakeLockLevelSupported(PROXIMITY_SCREEN_OFF_WAKE_LOCK)) { + pm.newWakeLock(PROXIMITY_SCREEN_OFF_WAKE_LOCK, "proximityLock") + } else { + null + } + proximityLock?.acquire() onDispose { // Stop it when call ended if (!ntfModeService) SimplexService.safeStopService(SimplexApp.context) dropAudioManagerOverrides() am.unregisterAudioDeviceCallback(audioCallback) + proximityLock?.release() } } val scope = rememberCoroutineScope()