Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 029179ca authored by dev-12's avatar dev-12
Browse files

refactor: return job unique id for installation task

parent c4b300ae
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -8,23 +8,26 @@ import androidx.work.WorkManager
import foundation.e.apps.data.install.models.AppInstall
import timber.log.Timber
import java.lang.Exception
import java.util.UUID

object InstallWorkManager {
    const val INSTALL_WORK_NAME = "APP_LOUNGE_INSTALL_APP"
    lateinit var context: Application

    fun enqueueWork(appInstall: AppInstall, isUpdateWork: Boolean = false) {
        WorkManager.getInstance(context).enqueueUniqueWork(
            INSTALL_WORK_NAME,
            ExistingWorkPolicy.APPEND_OR_REPLACE,
            OneTimeWorkRequestBuilder<InstallAppWorker>().setInputData(
    fun enqueueWork(appInstall: AppInstall, isUpdateWork: Boolean = false): UUID {
        val request = OneTimeWorkRequestBuilder<InstallAppWorker>().setInputData(
            Data.Builder()
                .putString(InstallAppWorker.INPUT_DATA_FUSED_DOWNLOAD, appInstall.id)
                .putBoolean(InstallAppWorker.IS_UPDATE_WORK, isUpdateWork)
                .build()
        ).addTag(appInstall.id)
            .build()
        WorkManager.getInstance(context).enqueueUniqueWork(
            INSTALL_WORK_NAME,
            ExistingWorkPolicy.APPEND_OR_REPLACE,
            request
        )
        return request.id
    }

    fun cancelWork(tag: String) {