From 8b96d8cd8dfcc8c1ba1a8fc1a0977c31abe05301 Mon Sep 17 00:00:00 2001
From: Adam Brown <adampsbrown@gmail.com>
Date: Wed, 15 Dec 2021 17:32:39 +0000
Subject: [PATCH] only acquire a wake lock if a lock is not already held

---
 .../java/im/vector/app/features/call/CallProximityManager.kt  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/vector/src/main/java/im/vector/app/features/call/CallProximityManager.kt b/vector/src/main/java/im/vector/app/features/call/CallProximityManager.kt
index 74e6c40783..3aeeac15af 100644
--- a/vector/src/main/java/im/vector/app/features/call/CallProximityManager.kt
+++ b/vector/src/main/java/im/vector/app/features/call/CallProximityManager.kt
@@ -93,7 +93,9 @@ class CallProximityManager @Inject constructor(
         if (wakeLock == null) {
             wakeLock = powerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, generateWakeLockTag())
         }
-        wakeLock?.acquire(WAKE_LOCK_TIMEOUT_MILLIS)
+        wakeLock
+                ?.takeIf { !it.isHeld }
+                ?.acquire(WAKE_LOCK_TIMEOUT_MILLIS)
     }
 
     private fun onProximityFar() {