diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 21f27f646fc14..1eac1d5ce566b 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -8036,13 +8036,16 @@ public abstract class PackageManager { sApplicationInfoCache.disableLocal(); } + private static final PropertyInvalidatedCache.AutoCorker sCacheAutoCorker = + new PropertyInvalidatedCache.AutoCorker(PermissionManager.CACHE_KEY_PACKAGE_INFO); + /** * Invalidate caches of package and permission information system-wide. * * @hide */ public static void invalidatePackageInfoCache() { - PropertyInvalidatedCache.invalidateCache(PermissionManager.CACHE_KEY_PACKAGE_INFO); + sCacheAutoCorker.autoCork(); } // Some of the flags don't affect the query result, but let's be conservative and cache