Loading services/core/java/com/android/server/am/UserController.java +50 −47 Original line number Diff line number Diff line Loading @@ -1907,27 +1907,6 @@ class UserController implements Handler.Callback { return false; } final Runnable continueStartUserInternal = () -> continueStartUserInternal(userInfo, oldUserId, userStartMode, unlockListener, callingUid, callingPid); if (foreground) { mHandler.post(() -> dispatchOnBeforeUserSwitching(userId, () -> mHandler.post(continueStartUserInternal))); } else { continueStartUserInternal.run(); } } finally { Binder.restoreCallingIdentity(ident); } return true; } private void continueStartUserInternal(UserInfo userInfo, int oldUserId, int userStartMode, IProgressListener unlockListener, int callingUid, int callingPid) { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final boolean foreground = userStartMode == USER_START_MODE_FOREGROUND; final int userId = userInfo.id; boolean needStart = false; boolean updateUmState = false; UserState uss; Loading @@ -1951,7 +1930,7 @@ class UserController implements Handler.Callback { mPendingUserStarts.add(new PendingUserStart(userId, userStartMode, unlockListener)); t.traceEnd(); // updateStartedUserArrayStarting return; return true; } } Loading @@ -1973,6 +1952,30 @@ class UserController implements Handler.Callback { mInjector.getUserManagerInternal().setUserState(userId, uss.state); t.traceEnd(); } UserState finalUss = uss; boolean finalNeedStart = needStart; final Runnable continueStartUserInternal = () -> continueStartUserInternal(userInfo, oldUserId, userStartMode, finalUss, finalNeedStart, callingUid, callingPid); if (foreground) { mHandler.post(() -> dispatchOnBeforeUserSwitching(userId, () -> mHandler.post(continueStartUserInternal))); } else { continueStartUserInternal.run(); } } finally { Binder.restoreCallingIdentity(ident); } return true; } private void continueStartUserInternal(UserInfo userInfo, int oldUserId, int userStartMode, UserState uss, boolean needStart, int callingUid, int callingPid) { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final boolean foreground = userStartMode == USER_START_MODE_FOREGROUND; final int userId = userInfo.id; t.traceBegin("updateConfigurationAndProfileIds"); if (foreground) { // Make sure the old user is no longer considering the display to be on. Loading Loading
services/core/java/com/android/server/am/UserController.java +50 −47 Original line number Diff line number Diff line Loading @@ -1907,27 +1907,6 @@ class UserController implements Handler.Callback { return false; } final Runnable continueStartUserInternal = () -> continueStartUserInternal(userInfo, oldUserId, userStartMode, unlockListener, callingUid, callingPid); if (foreground) { mHandler.post(() -> dispatchOnBeforeUserSwitching(userId, () -> mHandler.post(continueStartUserInternal))); } else { continueStartUserInternal.run(); } } finally { Binder.restoreCallingIdentity(ident); } return true; } private void continueStartUserInternal(UserInfo userInfo, int oldUserId, int userStartMode, IProgressListener unlockListener, int callingUid, int callingPid) { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final boolean foreground = userStartMode == USER_START_MODE_FOREGROUND; final int userId = userInfo.id; boolean needStart = false; boolean updateUmState = false; UserState uss; Loading @@ -1951,7 +1930,7 @@ class UserController implements Handler.Callback { mPendingUserStarts.add(new PendingUserStart(userId, userStartMode, unlockListener)); t.traceEnd(); // updateStartedUserArrayStarting return; return true; } } Loading @@ -1973,6 +1952,30 @@ class UserController implements Handler.Callback { mInjector.getUserManagerInternal().setUserState(userId, uss.state); t.traceEnd(); } UserState finalUss = uss; boolean finalNeedStart = needStart; final Runnable continueStartUserInternal = () -> continueStartUserInternal(userInfo, oldUserId, userStartMode, finalUss, finalNeedStart, callingUid, callingPid); if (foreground) { mHandler.post(() -> dispatchOnBeforeUserSwitching(userId, () -> mHandler.post(continueStartUserInternal))); } else { continueStartUserInternal.run(); } } finally { Binder.restoreCallingIdentity(ident); } return true; } private void continueStartUserInternal(UserInfo userInfo, int oldUserId, int userStartMode, UserState uss, boolean needStart, int callingUid, int callingPid) { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final boolean foreground = userStartMode == USER_START_MODE_FOREGROUND; final int userId = userInfo.id; t.traceBegin("updateConfigurationAndProfileIds"); if (foreground) { // Make sure the old user is no longer considering the display to be on. Loading