android: hold wakelock for 30 seconds after received event was processed, to prevent race condition with incoming call activity. (#6224)

* android: hold wakelock for 45 seconds after event is received

* create new lock instances, delay release by 30 seconds

* comment
This commit is contained in:
Evgeny
2025-08-27 19:54:53 +01:00
committed by GitHub
parent 98b11b3df1
commit d1d2e4bc18
3 changed files with 14 additions and 7 deletions

View File

@@ -653,7 +653,14 @@ object ChatController {
break
}
try {
releaseLock()
val release = releaseLock
// delaying the release of wake lock in order to:
// 1. avoid race condition with the incoming call activity that fails to show if called after wake lock release (primary reason),
// 2. allow any other necessary processing for a bit of time with wakelock held.
launch {
delay(30000)
release()
}
val msg = recvMsg(ctrl)
releaseLock = getWakeLock(timeout = 60000)
if (msg != null) {