From 73202776aa8b131c3ecf4ff72f41ee814a4289e4 Mon Sep 17 00:00:00 2001 From: xXJsonDeruloXx Date: Mon, 27 Apr 2026 13:52:36 -0400 Subject: [PATCH] fix: join prealloc job before polling so zero-chunk files are created before return --- .../java/app/gamenative/service/gog/GOGDownloadManager.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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