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
(cherry picked from commit 8132b22315e634cb5972e2b5f1b6782128b638de)
diff --git a/services/core/java/com/android/server/pm/AppsFilter.java b/services/core/java/com/android/server/pm/AppsFilter.java
index e7e6fe9..178f649 100644
--- a/services/core/java/com/android/server/pm/AppsFilter.java
+++ b/services/core/java/com/android/server/pm/AppsFilter.java
@@ -646,7 +646,7 @@
             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)) {