Loading services/core/java/com/android/server/pm/AppsFilter.java +16 −15 Original line number Diff line number Diff line Loading @@ -796,7 +796,6 @@ public class AppsFilter { * @param setting the setting of the package being removed. */ public void removePackage(PackageSetting setting) { removeAppIdFromVisibilityCache(setting.appId); mStateProvider.runWithState((settings, users) -> { final int userCount = users.length; for (int u = 0; u < userCount; u++) { Loading @@ -819,17 +818,7 @@ public class AppsFilter { mQueriesViaPackage.remove(mQueriesViaPackage.keyAt(i), setting.appId); } // re-add other shared user members to re-establish visibility between them and other // packages if (setting.sharedUser != null) { for (int i = setting.sharedUser.packages.size() - 1; i >= 0; i--) { if (setting.sharedUser.packages.valueAt(i) == setting) { continue; } addPackageInternal( setting.sharedUser.packages.valueAt(i), settings); } } mForceQueryable.remove(setting.appId); if (setting.pkg != null && !setting.pkg.getProtectedBroadcasts().isEmpty()) { final String removingPackageName = setting.pkg.getPackageName(); Loading @@ -843,6 +832,21 @@ public class AppsFilter { mOverlayReferenceMapper.removePkg(setting.name); mFeatureConfig.updatePackageState(setting, true /*removed*/); // After removing all traces of the package, if it's part of a shared user, re-add other // shared user members to re-establish visibility between them and other packages. // NOTE: this must come after all removals from data structures but before we update the // cache if (setting.sharedUser != null) { for (int i = setting.sharedUser.packages.size() - 1; i >= 0; i--) { if (setting.sharedUser.packages.valueAt(i) == setting) { continue; } addPackageInternal( setting.sharedUser.packages.valueAt(i), settings); } } removeAppIdFromVisibilityCache(setting.appId); if (mShouldFilterCache != null && setting.sharedUser != null) { for (int i = setting.sharedUser.packages.size() - 1; i >= 0; i--) { PackageSetting siblingSetting = setting.sharedUser.packages.valueAt(i); Loading @@ -854,9 +858,6 @@ public class AppsFilter { } } }); mForceQueryable.remove(setting.appId); } /** Loading Loading
services/core/java/com/android/server/pm/AppsFilter.java +16 −15 Original line number Diff line number Diff line Loading @@ -796,7 +796,6 @@ public class AppsFilter { * @param setting the setting of the package being removed. */ public void removePackage(PackageSetting setting) { removeAppIdFromVisibilityCache(setting.appId); mStateProvider.runWithState((settings, users) -> { final int userCount = users.length; for (int u = 0; u < userCount; u++) { Loading @@ -819,17 +818,7 @@ public class AppsFilter { mQueriesViaPackage.remove(mQueriesViaPackage.keyAt(i), setting.appId); } // re-add other shared user members to re-establish visibility between them and other // packages if (setting.sharedUser != null) { for (int i = setting.sharedUser.packages.size() - 1; i >= 0; i--) { if (setting.sharedUser.packages.valueAt(i) == setting) { continue; } addPackageInternal( setting.sharedUser.packages.valueAt(i), settings); } } mForceQueryable.remove(setting.appId); if (setting.pkg != null && !setting.pkg.getProtectedBroadcasts().isEmpty()) { final String removingPackageName = setting.pkg.getPackageName(); Loading @@ -843,6 +832,21 @@ public class AppsFilter { mOverlayReferenceMapper.removePkg(setting.name); mFeatureConfig.updatePackageState(setting, true /*removed*/); // After removing all traces of the package, if it's part of a shared user, re-add other // shared user members to re-establish visibility between them and other packages. // NOTE: this must come after all removals from data structures but before we update the // cache if (setting.sharedUser != null) { for (int i = setting.sharedUser.packages.size() - 1; i >= 0; i--) { if (setting.sharedUser.packages.valueAt(i) == setting) { continue; } addPackageInternal( setting.sharedUser.packages.valueAt(i), settings); } } removeAppIdFromVisibilityCache(setting.appId); if (mShouldFilterCache != null && setting.sharedUser != null) { for (int i = setting.sharedUser.packages.size() - 1; i >= 0; i--) { PackageSetting siblingSetting = setting.sharedUser.packages.valueAt(i); Loading @@ -854,9 +858,6 @@ public class AppsFilter { } } }); mForceQueryable.remove(setting.appId); } /** Loading