Handle user create failure correctly for lifecycle atom.

Bug: 159271227
Test: statsd_testdrive 264 265
Change-Id: I2dbcfecef9b523cb08b16a45b5597500c9870f85
This commit is contained in:
Varun Shah
2020-06-17 21:33:31 -07:00
parent c934b468b5
commit 9628953e14

View File

@@ -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,