From 25741b44b574edb2cee6ef5299f562bb87a94c26 Mon Sep 17 00:00:00 2001
From: Guillaume Jacquart <guillaume.jacquart@hoodbrains.com>
Date: Tue, 25 Jul 2023 11:31:54 +0000
Subject: 7127: fix new installed app doesn't show up in AdvancedPrivacy until
 reboot

---
 .../e/advancedprivacy/data/repositories/AppListsRepository.kt     | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'app/src/main/java/foundation')

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
                 }
             }
         }
-- 
cgit v1.2.1