worker: download: query packagemanager for installed state

-- Download entity may have obsolete info.
-- Bug: install an app, restart aurora, go install app details page, uninstall & reinstall.
This commit is contained in:
Rahul Patel
2026-01-24 20:46:47 +05:30
parent 0278783fd4
commit f1174ce937

View File

@@ -19,7 +19,6 @@ import androidx.work.ForegroundInfo
import androidx.work.WorkInfo.Companion.STOP_REASON_CANCELLED_BY_APP import androidx.work.WorkInfo.Companion.STOP_REASON_CANCELLED_BY_APP
import androidx.work.WorkInfo.Companion.STOP_REASON_USER import androidx.work.WorkInfo.Companion.STOP_REASON_USER
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import com.aurora.Constants.FLAVOUR_HUAWEI
import com.aurora.extensions.TAG import com.aurora.extensions.TAG
import com.aurora.extensions.copyTo import com.aurora.extensions.copyTo
import com.aurora.extensions.isPAndAbove import com.aurora.extensions.isPAndAbove
@@ -30,7 +29,6 @@ import com.aurora.gplayapi.data.models.PlayFile
import com.aurora.gplayapi.helpers.PurchaseHelper import com.aurora.gplayapi.helpers.PurchaseHelper
import com.aurora.gplayapi.network.IHttpClient import com.aurora.gplayapi.network.IHttpClient
import com.aurora.store.AuroraApp import com.aurora.store.AuroraApp
import com.aurora.store.BuildConfig
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.data.event.InstallerEvent import com.aurora.store.data.event.InstallerEvent
import com.aurora.store.data.helper.DownloadHelper import com.aurora.store.data.helper.DownloadHelper
@@ -48,6 +46,9 @@ import com.aurora.store.util.PackageUtil
import com.aurora.store.util.PathUtil import com.aurora.store.util.PathUtil
import dagger.assisted.Assisted import dagger.assisted.Assisted
import dagger.assisted.AssistedInject import dagger.assisted.AssistedInject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.withContext
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
import java.net.SocketException import java.net.SocketException
@@ -57,9 +58,6 @@ import java.security.DigestInputStream
import java.security.MessageDigest import java.security.MessageDigest
import kotlin.coroutines.cancellation.CancellationException import kotlin.coroutines.cancellation.CancellationException
import kotlin.properties.Delegates import kotlin.properties.Delegates
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.withContext
/** /**
* An expedited long-running worker to download and trigger installation for given apps. * An expedited long-running worker to download and trigger installation for given apps.
@@ -259,7 +257,7 @@ class DownloadWorker @AssistedInject constructor(
private fun purchase(packageName: String, versionCode: Long, offerType: Int): List<PlayFile> { private fun purchase(packageName: String, versionCode: Long, offerType: Int): List<PlayFile> {
try { try {
// Android 9.0+ supports key rotation, so purchase with latest certificate's hash // Android 9.0+ supports key rotation, so purchase with latest certificate's hash
return if (isPAndAbove && download.isInstalled) { return if (isPAndAbove && PackageUtil.isInstalled(context, download.packageName)) {
purchaseHelper.purchase( purchaseHelper.purchase(
packageName, packageName,
versionCode, versionCode,