diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 2a6997cba4bba..398ff4b8b9f95 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -3291,11 +3291,13 @@ public class UserManagerService extends IUserManager.Stub { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); t.traceBegin("createUser-" + flags); final long sessionId = logUserCreateJourneyBegin(nextProbableUserId, userType, flags); + UserInfo newUser = null; try { - return createUserInternalUncheckedNoTracing(name, userType, flags, parentId, - preCreate, disallowedPackages, t); + newUser = createUserInternalUncheckedNoTracing(name, userType, flags, parentId, + preCreate, disallowedPackages, t); + return newUser; } finally { - logUserCreateJourneyFinish(sessionId, nextProbableUserId); + logUserCreateJourneyFinish(sessionId, nextProbableUserId, newUser != null); t.traceEnd(); } } @@ -3314,10 +3316,11 @@ public class UserManagerService extends IUserManager.Stub { return sessionId; } - private void logUserCreateJourneyFinish(long sessionId, @UserIdInt int userId) { + private void logUserCreateJourneyFinish(long sessionId, @UserIdInt int userId, boolean finish) { FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED, sessionId, userId, FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__CREATE_USER, - FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__FINISH); + finish ? FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__FINISH + : FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__NONE); } private UserInfo createUserInternalUncheckedNoTracing(@Nullable String name,