Loading app/src/main/java/foundation/e/apps/manager/download/DownloadManagerUtils.kt +2 −0 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import foundation.e.apps.manager.fused.FusedManagerRepository import foundation.e.apps.utils.enums.Status import foundation.e.apps.utils.enums.Status import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.sync.withLock Loading @@ -48,6 +49,7 @@ class DownloadManagerUtils @Inject constructor( fun updateDownloadStatus(downloadId: Long) { fun updateDownloadStatus(downloadId: Long) { GlobalScope.launch { GlobalScope.launch { mutex.withLock { mutex.withLock { delay(1500) // Waiting for downloadmanager to publish the progress of last bytes val fusedDownload = fusedManagerRepository.getFusedDownload(downloadId) val fusedDownload = fusedManagerRepository.getFusedDownload(downloadId) fusedDownload.downloadIdMap[downloadId] = true fusedDownload.downloadIdMap[downloadId] = true fusedManagerRepository.updateFusedDownload(fusedDownload) fusedManagerRepository.updateFusedDownload(fusedDownload) Loading Loading
app/src/main/java/foundation/e/apps/manager/download/DownloadManagerUtils.kt +2 −0 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import foundation.e.apps.manager.fused.FusedManagerRepository import foundation.e.apps.utils.enums.Status import foundation.e.apps.utils.enums.Status import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.sync.withLock Loading @@ -48,6 +49,7 @@ class DownloadManagerUtils @Inject constructor( fun updateDownloadStatus(downloadId: Long) { fun updateDownloadStatus(downloadId: Long) { GlobalScope.launch { GlobalScope.launch { mutex.withLock { mutex.withLock { delay(1500) // Waiting for downloadmanager to publish the progress of last bytes val fusedDownload = fusedManagerRepository.getFusedDownload(downloadId) val fusedDownload = fusedManagerRepository.getFusedDownload(downloadId) fusedDownload.downloadIdMap[downloadId] = true fusedDownload.downloadIdMap[downloadId] = true fusedManagerRepository.updateFusedDownload(fusedDownload) fusedManagerRepository.updateFusedDownload(fusedDownload) Loading