From 55294a807da3dce5baa5d64bb64fa696069e1625 Mon Sep 17 00:00:00 2001 From: Anna Bauza Date: Mon, 8 Aug 2022 13:05:05 +0000 Subject: [PATCH] Add user 0 when more than one UserInfo atom is reported. Bug: 241362995 Test: statsd_testdrive 10152 Change-Id: I7cd52ccaf1bc2b4d857f4cc55b5a0189d6656cdb --- .../android/server/pm/UserManagerService.java | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index e022f15c32ad7..7e46033c26ef8 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -4556,34 +4556,31 @@ public class UserManagerService extends IUserManager.Stub { } final List users = getUsersInternal(true, true, true); final int size = users.size(); - for (int idx = 0; idx < size; idx++) { - final UserInfo user = users.get(idx); - if (user.id == UserHandle.USER_SYSTEM) { - // Skip user 0. It's not interesting. We already know it exists, is running, and (if - // we know the device configuration) its userType. - continue; + if (size > 1) { + for (int idx = 0; idx < size; idx++) { + final UserInfo user = users.get(idx); + final int userTypeStandard = UserManager.getUserTypeForStatsd(user.userType); + final String userTypeCustom = (userTypeStandard == FrameworkStatsLog + .USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__TYPE_UNKNOWN) + ? + user.userType : null; + + boolean isUserRunningUnlocked; + synchronized (mUserStates) { + isUserRunningUnlocked = + mUserStates.get(user.id, -1) == UserState.STATE_RUNNING_UNLOCKED; + } + + data.add(FrameworkStatsLog.buildStatsEvent(FrameworkStatsLog.USER_INFO, + user.id, + userTypeStandard, + userTypeCustom, + user.flags, + user.creationTime, + user.lastLoggedInTime, + isUserRunningUnlocked + )); } - - final int userTypeStandard = UserManager.getUserTypeForStatsd(user.userType); - final String userTypeCustom = (userTypeStandard == - FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__TYPE_UNKNOWN) ? - user.userType : null; - - boolean isUserRunningUnlocked; - synchronized (mUserStates) { - isUserRunningUnlocked = - mUserStates.get(user.id, -1) == UserState.STATE_RUNNING_UNLOCKED; - } - - data.add(FrameworkStatsLog.buildStatsEvent(FrameworkStatsLog.USER_INFO, - user.id, - userTypeStandard, - userTypeCustom, - user.flags, - user.creationTime, - user.lastLoggedInTime, - isUserRunningUnlocked - )); } return android.app.StatsManager.PULL_SUCCESS; }