diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 600d84b71..f7a741ad2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -157,6 +157,7 @@
+
diff --git a/app/src/main/java/com/aurora/store/data/downloader/DownloadManager.kt b/app/src/main/java/com/aurora/store/data/downloader/DownloadManager.kt
index fe08723f5..809b86351 100644
--- a/app/src/main/java/com/aurora/store/data/downloader/DownloadManager.kt
+++ b/app/src/main/java/com/aurora/store/data/downloader/DownloadManager.kt
@@ -77,7 +77,10 @@ class DownloadManager private constructor(var context: Context) {
if (packageList.contains(download.tag)) {
val packageName = download.tag
if (packageName != null) {
- fetch.deleteGroup(packageName.hashCode())
+ val groupIDsOfPackageName = RequestGroupIdBuilder.getGroupIDsForApp(context, packageName.hashCode())
+ groupIDsOfPackageName.forEach {
+ fetch.deleteGroup(it)
+ }
packageList.remove(packageName)
}
}
diff --git a/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt b/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt
index c21bdc866..30752d7ea 100644
--- a/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt
+++ b/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt
@@ -31,9 +31,9 @@ import com.tonyodev.fetch2.Request
import com.tonyodev.fetch2core.Extras
import java.lang.reflect.Modifier
-private inline fun Request.attachMetaData(app: App) {
+private inline fun Request.attachMetaData(context: Context, app: App) {
apply {
- groupId = app.id
+ groupId = app.getGroupId(context)
tag = app.packageName
enqueueAction = EnqueueAction.UPDATE_ACCORDINGLY
networkType = NetworkType.ALL
@@ -61,7 +61,7 @@ object RequestBuilder {
File.FileType.PATCH -> PathUtil.getObbDownloadFile(context, app, file)
}
return Request(file.url, fileName).apply {
- attachMetaData(app)
+ attachMetaData(context, app)
attachExtra(app)
}
}
diff --git a/app/src/main/java/com/aurora/store/data/downloader/RequestGroupIdBuilder.kt b/app/src/main/java/com/aurora/store/data/downloader/RequestGroupIdBuilder.kt
new file mode 100644
index 000000000..53f346c78
--- /dev/null
+++ b/app/src/main/java/com/aurora/store/data/downloader/RequestGroupIdBuilder.kt
@@ -0,0 +1,55 @@
+package com.aurora.store.data.downloader
+
+import android.content.Context
+import com.aurora.gplayapi.data.models.App
+import com.aurora.store.util.Preferences
+import com.aurora.store.util.Preferences.PREFERENCE_UNIQUE_GROUP_IDS
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import org.apache.commons.lang3.RandomUtils
+
+class RequestGroupIdBuilder {
+
+ data class AppIDnVersion(val id: Int, val versionCode: Int)
+
+ companion object {
+ fun getGroupIDsForApp(context: Context, appID: Int): MutableList {
+ val data = Preferences.getPrefs(context).getString(PREFERENCE_UNIQUE_GROUP_IDS, "")!!
+ val gson = Gson()
+ var groupIDMap = HashMap()
+ if (data.isNotEmpty()) {
+ val empMapType = object : TypeToken