summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alex Chau <alexchau@google.com> 2018-01-18 16:07:36 +0000
committer Alex Chau <alexchau@google.com> 2018-01-18 16:42:50 +0000
commit62995efee31a264e115719bae6827ebb48a3828c (patch)
treea91b5bde20c60378a0e40f62f2a30c55917e1242
parent5123afc0fd4ad70741eaae18a1e94acb9d457793 (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.java2
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;