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:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user