diff --git a/app/src/main/java/com/aurora/store/data/room/download/DownloadDao.kt b/app/src/main/java/com/aurora/store/data/room/download/DownloadDao.kt index 9a7c71b1c..1412d6ac1 100644 --- a/app/src/main/java/com/aurora/store/data/room/download/DownloadDao.kt +++ b/app/src/main/java/com/aurora/store/data/room/download/DownloadDao.kt @@ -5,6 +5,7 @@ import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update +import com.aurora.gplayapi.data.models.File import com.aurora.store.data.model.DownloadStatus import kotlinx.coroutines.flow.Flow @@ -20,6 +21,12 @@ interface DownloadDao { @Query("UPDATE download SET downloadStatus=:downloadStatus WHERE packageName=:packageName") suspend fun updateStatus(packageName: String, downloadStatus: DownloadStatus) + @Query("UPDATE download SET fileList=:fileList WHERE packageName=:packageName") + suspend fun updateFiles(packageName: String, fileList: List) + + @Query("UPDATE download SET sharedLibs=:sharedLibs WHERE packageName=:packageName") + suspend fun updateSharedLibs(packageName: String, sharedLibs: List) + @Query( """ UPDATE download diff --git a/app/src/main/java/com/aurora/store/data/work/DownloadWorker.kt b/app/src/main/java/com/aurora/store/data/work/DownloadWorker.kt index fe80483a3..4ca6b1b2c 100644 --- a/app/src/main/java/com/aurora/store/data/work/DownloadWorker.kt +++ b/app/src/main/java/com/aurora/store/data/work/DownloadWorker.kt @@ -131,8 +131,9 @@ class DownloadWorker @AssistedInject constructor( download.totalFiles = requestList.size totalBytes = requestList.sumOf { it.size } - // Update database with all latest changes - downloadDao.update(download) + // Update database with all latest purchases + downloadDao.updateFiles(download.packageName, download.fileList) + downloadDao.updateSharedLibs(download.packageName, download.sharedLibs) // Download and verify all files exists requestList.forEach { request ->