Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9628953e authored by Varun Shah's avatar Varun Shah
Browse files

Handle user create failure correctly for lifecycle atom.

Bug: 159271227
Test: statsd_testdrive 264 265
Change-Id: I2dbcfecef9b523cb08b16a45b5597500c9870f85
parent c934b468
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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,
            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,