From db3374bef79a2fbe3fa462cb28883c7f7619c924 Mon Sep 17 00:00:00 2001 From: Jeongsik Mun Date: Wed, 21 Jun 2023 13:06:50 +0900 Subject: [PATCH] Improve performance of AppsFilter#removePackage() Basically, it updates all visibilities for packages sharing the same uid on removePackage(). However, the calculated visibility for the uid is always the same and it could take a lot of time if there are many packages for the uid. This CL calculates and updates visibility once only for a package among them in case of sharedUserId. Bug: 288223730 Test: atest PackageManagerServiceServerTests:AppsFilterImplTest Change-Id: I2650e4aa50993ce814d4e90da7a3f16982e2e32c --- services/core/java/com/android/server/pm/AppsFilterImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/services/core/java/com/android/server/pm/AppsFilterImpl.java b/services/core/java/com/android/server/pm/AppsFilterImpl.java index 6505e8b91c065..21610c9510ace 100644 --- a/services/core/java/com/android/server/pm/AppsFilterImpl.java +++ b/services/core/java/com/android/server/pm/AppsFilterImpl.java @@ -1225,6 +1225,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, setting.getPackageName(), siblingSetting, settings, users, USER_ALL, settings.size()); } + break; } }