Fixed call to UserManager.getVisibleUsers()

Test: atest android.car.test.mocks.AndroidMockitoHelperTest
Test: m EmbeddedKitchenSinkApp

Bug: 242801948

Change-Id: Ie18531e65bff66c7e4f9af8b5134e04a8d4f1016
diff --git a/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java b/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java
index 2bbab59..5b62a6b 100644
--- a/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java
+++ b/car-test-lib/src/android/car/test/mocks/AndroidMockitoHelper.java
@@ -62,6 +62,7 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicReference;
@@ -377,9 +378,9 @@
      * returns {@link UserHandle UserHandles} with the given {@code userIds}.
      */
     public static void mockUmGetVisibleUsers(UserManager um, @UserIdInt int...userIds) {
-        List<UserHandle> users = Arrays.stream(userIds).mapToObj(u -> UserHandle.of(u))
-                .collect(Collectors.toList());
-        Log.v(TAG, "mockUmGetUserSwitchability(" + Arrays.toString(userIds) + ": returning "
+        Set<UserHandle> users = Arrays.stream(userIds).mapToObj(u -> UserHandle.of(u))
+                .collect(Collectors.toSet());
+        Log.v(TAG, "mockUmGetVisibleUsers(" + Arrays.toString(userIds) + ": returning "
                 + users);
         when(um.getVisibleUsers()).thenReturn(users);
     }
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/users/SimpleUserPickerFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/users/SimpleUserPickerFragment.java
index 06e438b..9c7091b 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/users/SimpleUserPickerFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/users/SimpleUserPickerFragment.java
@@ -53,7 +53,9 @@
 import com.google.android.car.kitchensink.UserPickerActivity;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
 public final class SimpleUserPickerFragment extends Fragment {
@@ -449,7 +451,7 @@
     private ArrayList<String> getUnassignedUsers() {
         ArrayList<String> users = new ArrayList<>();
         List<UserInfo> aliveUsers = mUserManager.getAliveUsers();
-        List<UserHandle> visibleUsers = mUserManager.getVisibleUsers();
+        Set<UserHandle> visibleUsers = mUserManager.getVisibleUsers();
         // Exclude visible users and only show unassigned users.
         for (int i = 0; i < aliveUsers.size(); ++i) {
             UserInfo u = aliveUsers.get(i);
@@ -487,13 +489,8 @@
         return displays;
     }
 
-    private static boolean isIncluded(int userId, List<UserHandle> visibleUsers) {
-        for (int i = 0; i < visibleUsers.size(); ++i) {
-            if (userId == visibleUsers.get(i).getIdentifier()) {
-                return true;
-            }
-        }
-        return false;
+    private static boolean isIncluded(int userId, Collection<UserHandle> users) {
+        return users.stream().anyMatch(u -> u.getIdentifier() == userId);
     }
 
     private static final class SpinnerWrapper {