From 8132b22315e634cb5972e2b5f1b6782128b638de Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Wed, 17 Jun 2020 10:21:55 -0700 Subject: [PATCH] Remove incorrect optimization in visibility cache During review when introducing the visibility cache, a suggested optimization when iterating over users turned out to prevent populating of the cache for certain multi-user cases. This change ensures that we pass over all users in both directions, making for a complete cache. Test: atest AppEnumerationTests AppsFilterTest Fixes: 159193336 Change-Id: Ic9ae27f1e1402b42a60a333c3ae99373f4829101 --- services/core/java/com/android/server/pm/AppsFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/AppsFilter.java b/services/core/java/com/android/server/pm/AppsFilter.java index 79f31211e8cc4..e28ffd218155e 100644 --- a/services/core/java/com/android/server/pm/AppsFilter.java +++ b/services/core/java/com/android/server/pm/AppsFilter.java @@ -655,7 +655,7 @@ public class AppsFilter { final int appxUidCount = userCount * allSettings.size(); for (int su = 0; su < userCount; su++) { int subjectUser = allUsers[su].id; - for (int ou = su; ou < userCount; ou++) { + for (int ou = 0; ou < userCount; ou++) { int otherUser = allUsers[ou].id; int subjectUid = UserHandle.getUid(subjectUser, subjectSetting.appId); if (!mShouldFilterCache.contains(subjectUid)) {