From a7d298d17ac4ed7f9a4792ac50a647127bf92cdb Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Mon, 25 Oct 2021 17:08:23 -0700 Subject: [PATCH] Fixed SystemService.dumpSupportedUsers() It was not filtering out unsupported users. Bug: 203885212 Test: adb shell dumpsys autofill|grep supported # on automotive Change-Id: I692d1e24d327b4e400c79f05c88bb158b60b0244 --- .../com/android/server/SystemService.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/SystemService.java b/services/core/java/com/android/server/SystemService.java index 39321bfe6435e..99232746cea16 100644 --- a/services/core/java/com/android/server/SystemService.java +++ b/services/core/java/com/android/server/SystemService.java @@ -301,17 +301,20 @@ public abstract class SystemService { protected void dumpSupportedUsers(@NonNull PrintWriter pw, @NonNull String prefix) { final List allUsers = UserManager.get(mContext).getUsers(); final List supportedUsers = new ArrayList<>(allUsers.size()); - for (UserInfo user : allUsers) { - supportedUsers.add(user.id); + for (int i = 0; i < allUsers.size(); i++) { + final UserInfo user = allUsers.get(i); + if (isUserSupported(new TargetUser(user))) { + supportedUsers.add(user.id); + } } - if (allUsers.isEmpty()) { + if (supportedUsers.isEmpty()) { pw.print(prefix); pw.println("No supported users"); - } else { - final int size = supportedUsers.size(); - pw.print(prefix); pw.print(size); pw.print(" supported user"); - if (size > 1) pw.print("s"); - pw.print(": "); pw.println(supportedUsers); + return; } + final int size = supportedUsers.size(); + pw.print(prefix); pw.print(size); pw.print(" supported user"); + if (size > 1) pw.print("s"); + pw.print(": "); pw.println(supportedUsers); } /**