summaryrefslogtreecommitdiff
path: root/app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt')
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt8
1 files changed, 4 insertions, 4 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt b/app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt
index 0b951a8..2d7651d 100644
--- a/app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt
+++ b/app/src/main/java/foundation/e/advancedprivacy/data/repositories/AppListsRepository.kt
@@ -138,16 +138,16 @@ class AppListsRepository(
private var lastFetchApps = 0
private var refreshAppJob: Job? = null
private fun refreshAppDescriptions(fetchMissingIcons: Boolean = true, force: Boolean = false): Job? {
- if (refreshAppJob == null) {
+ if (refreshAppJob == null || refreshAppJob?.isCompleted == true) {
refreshAppJob = coroutineScope.launch(Dispatchers.IO) {
- if (force || context.packageManager.getChangedPackages(lastFetchApps) != null) {
+ if (appsByUid.isEmpty() || appsByAPId.isEmpty() ||
+ force || context.packageManager.getChangedPackages(lastFetchApps) != null
+ ) {
fetchAppDescriptions(fetchMissingIcons = fetchMissingIcons)
if (fetchMissingIcons) {
lastFetchApps = context.packageManager.getChangedPackages(lastFetchApps)
?.sequenceNumber ?: lastFetchApps
}
-
- refreshAppJob = null
}
}
}