From 731064cf88d9bbf0fa89c0fbccd84df8f350806c Mon Sep 17 00:00:00 2001 From: armv9 <48624112+arm64v8a@users.noreply.github.com> Date: Sun, 26 Oct 2025 14:55:29 +0900 Subject: [PATCH] Reload package cache when entering the app list --- .../java/io/nekohasekai/sagernet/ui/AppListActivity.kt | 1 + .../io/nekohasekai/sagernet/ui/AppManagerActivity.kt | 1 + .../java/io/nekohasekai/sagernet/utils/PackageCache.kt | 9 --------- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/ui/AppListActivity.kt b/app/src/main/java/io/nekohasekai/sagernet/ui/AppListActivity.kt index 86eb9a7..7f38924 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/ui/AppListActivity.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/ui/AppListActivity.kt @@ -100,6 +100,7 @@ class AppListActivity : ThemedActivity() { var filteredApps = apps suspend fun reload() { + PackageCache.reload() apps = cachedApps.mapNotNull { (packageName, packageInfo) -> coroutineContext[Job]!!.ensureActive() packageInfo.applicationInfo?.let { ProxiedApp(packageManager, it, packageName) } diff --git a/app/src/main/java/io/nekohasekai/sagernet/ui/AppManagerActivity.kt b/app/src/main/java/io/nekohasekai/sagernet/ui/AppManagerActivity.kt index e5eb258..effbc58 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/ui/AppManagerActivity.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/ui/AppManagerActivity.kt @@ -106,6 +106,7 @@ class AppManagerActivity : ThemedActivity() { var filteredApps = apps suspend fun reload() { + PackageCache.reload() apps = cachedApps.mapNotNull { (packageName, packageInfo) -> coroutineContext[Job]!!.ensureActive() packageInfo.applicationInfo?.let { ProxiedApp(packageManager, it, packageName) } diff --git a/app/src/main/java/io/nekohasekai/sagernet/utils/PackageCache.kt b/app/src/main/java/io/nekohasekai/sagernet/utils/PackageCache.kt index a2e09ef..c5e9370 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/utils/PackageCache.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/utils/PackageCache.kt @@ -67,15 +67,6 @@ object PackageCache { operator fun get(uid: Int) = uidMap[uid] operator fun get(packageName: String) = packageMap[packageName] - suspend fun awaitLoad() { - if (::packageMap.isInitialized) { - return - } - loaded.withLock { - // just await - } - } - fun awaitLoadSync() { if (::packageMap.isInitialized) { return