diff options
| author | 2018-01-18 16:07:36 +0000 | |
|---|---|---|
| committer | 2018-01-18 16:42:50 +0000 | |
| commit | 62995efee31a264e115719bae6827ebb48a3828c (patch) | |
| tree | a91b5bde20c60378a0e40f62f2a30c55917e1242 | |
| parent | 5123afc0fd4ad70741eaae18a1e94acb9d457793 (diff) | |
Check if UserState is null in stopGuestOrEphemeralUserIfBackground
- UserState may be removed from mStartedUsers if it has already been stopped
Bug: 72133858
Test: Manually create secondary user, and exit the user in SetupWizard
Change-Id: I92783f89a9d4de9a7eca81e688b4e115c2f5535a
| -rw-r--r-- | services/core/java/com/android/server/am/UserController.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index c7210a835767..65bebc6c235a 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -796,7 +796,7 @@ class UserController implements Handler.Callback { private void stopGuestOrEphemeralUserIfBackground(int oldUserId) { if (DEBUG_MU) Slog.i(TAG, "Stop guest or ephemeral user if background: " + oldUserId); UserState oldUss = mStartedUsers.get(oldUserId); - if (oldUserId == UserHandle.USER_SYSTEM || oldUserId == mCurrentUserId + if (oldUserId == UserHandle.USER_SYSTEM || oldUserId == mCurrentUserId || oldUss == null || oldUss.state == UserState.STATE_STOPPING || oldUss.state == UserState.STATE_SHUTDOWN) { return; |