diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/UserManagerService.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index faff394d495c..05f62b2a5f35 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -3210,6 +3210,13 @@ public class UserManagerService extends IUserManager.Stub { flags |= UserInfo.FLAG_EPHEMERAL; } + // Always clear EPHEMERAL for pre-created users, otherwise the storage key + // won't be persisted. The flag will be re-added (if needed) when the + // pre-created user is "converted" to a normal user. + if (preCreate) { + flags &= ~UserInfo.FLAG_EPHEMERAL; + } + userInfo = new UserInfo(userId, name, null, flags, userType); userInfo.serialNumber = mNextSerialNumber++; userInfo.creationTime = getCreationTime(); @@ -4428,6 +4435,7 @@ public class UserManagerService extends IUserManager.Stub { pw.println(" Supports switchable users: " + UserManager.supportsMultipleUsers()); pw.println(" All guests ephemeral: " + Resources.getSystem().getBoolean( com.android.internal.R.bool.config_guestUserEphemeral)); + pw.println(" Force ephemeral users: " + mForceEphemeralUsers); pw.println(" Is split-system user: " + UserManager.isSplitSystemUser()); pw.println(" Is headless-system mode: " + UserManager.isHeadlessSystemUserMode()); pw.println(" User version: " + mUserVersion); |