diff --git a/app/src/main/java/app/gamenative/service/gog/GOGDownloadManager.kt b/app/src/main/java/app/gamenative/service/gog/GOGDownloadManager.kt index ff68c8a260..20537c0182 100644 --- a/app/src/main/java/app/gamenative/service/gog/GOGDownloadManager.kt +++ b/app/src/main/java/app/gamenative/service/gog/GOGDownloadManager.kt @@ -942,7 +942,7 @@ class GOGDownloadManager @Inject constructor( downloadInfo.setActive(true) // Start downloads by launching a separate coroutine to emit chunks - scope.launch { + val preallocJob: Job = scope.launch { if (!downloadInfo.isActive()) { Timber.tag("GOG").w("Download cancelled by user") return@launch @@ -982,6 +982,8 @@ class GOGDownloadManager @Inject constructor( } } + preallocJob.join() + // Wait for all pending chunks to complete processing var lastPendingChunks = pendingChunks.get() var currentPendingChunks = lastPendingChunks