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 } }