From 68bf41b36a06074c030d729f90f658280f34c908 Mon Sep 17 00:00:00 2001 From: Ehren Kret Date: Thu, 18 Dec 2025 10:15:08 -0600 Subject: [PATCH] Delay auto-updates while in a VoIP call. --- .../thoughtcrime/securesms/apkupdate/ApkUpdateInstaller.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/apkupdate/ApkUpdateInstaller.kt b/app/src/main/java/org/thoughtcrime/securesms/apkupdate/ApkUpdateInstaller.kt index b596aacf7f..2245ce3681 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/apkupdate/ApkUpdateInstaller.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/apkupdate/ApkUpdateInstaller.kt @@ -10,11 +10,13 @@ import android.content.Context import android.content.Intent import android.content.pm.PackageInstaller import android.os.Build +import org.greenrobot.eventbus.EventBus import org.signal.core.util.PendingIntentFlags import org.signal.core.util.StreamUtil import org.signal.core.util.getDownloadManager import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.dependencies.AppDependencies +import org.thoughtcrime.securesms.events.WebRtcViewModel import org.thoughtcrime.securesms.jobs.ApkUpdateJob import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.util.AppForegroundObserver @@ -148,7 +150,10 @@ object ApkUpdateInstaller { } private fun shouldAutoUpdate(): Boolean { + val webRtcViewModel = EventBus.getDefault().getStickyEvent(WebRtcViewModel::class.java) + val isCallActive = webRtcViewModel != null && webRtcViewModel.state != WebRtcViewModel.State.IDLE + // TODO Auto-updates temporarily restricted to nightlies. Once we have designs for allowing users to opt-out of auto-updates, we can re-enable this - return Environment.IS_NIGHTLY && Build.VERSION.SDK_INT >= 31 && SignalStore.apkUpdate.autoUpdate && !AppForegroundObserver.isForegrounded() + return Environment.IS_NIGHTLY && Build.VERSION.SDK_INT >= 31 && SignalStore.apkUpdate.autoUpdate && !AppForegroundObserver.isForegrounded() && !isCallActive } }