diff options
author | Amith Yamasani <yamasani@google.com> | 2012-11-15 14:39:18 -0800 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2012-11-15 14:43:13 -0800 |
commit | bc9625059bccc8f0d70540d0affd73320620c3c0 (patch) | |
tree | 823b6ed96db21b1d5df0f4d714c8c45139834f93 /services/java/com/android/server/pm/UserManagerService.java | |
parent | 674a131cb625a7aae0c6e50a24a968200c71b566 (diff) |
Make sure that the owner user is marked initialized.
This is required for upgrades from previous versions of JB.
Bug: 7547639
Change-Id: I21de14a70d6ba2ab21437b5f0721321df45226d2
Diffstat (limited to 'services/java/com/android/server/pm/UserManagerService.java')
-rw-r--r-- | services/java/com/android/server/pm/UserManagerService.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/services/java/com/android/server/pm/UserManagerService.java b/services/java/com/android/server/pm/UserManagerService.java index 66c3ce927bcc..dbfe34d3e96b 100644 --- a/services/java/com/android/server/pm/UserManagerService.java +++ b/services/java/com/android/server/pm/UserManagerService.java @@ -88,7 +88,7 @@ public class UserManagerService extends IUserManager.Stub { private static final int MIN_USER_ID = 10; - private static final int USER_VERSION = 1; + private static final int USER_VERSION = 2; private static final long EPOCH_PLUS_30_YEARS = 30L * 365 * 24 * 60 * 60 * 1000L; // ms @@ -484,8 +484,7 @@ public class UserManagerService extends IUserManager.Stub { } /** - * This fixes an incorrect initialization of user name for the owner. - * TODO: Remove in the next release. + * Upgrade steps between versions, either for fixing bugs or changing the data format. */ private void upgradeIfNecessary() { int userVersion = mUserVersion; @@ -499,6 +498,16 @@ public class UserManagerService extends IUserManager.Stub { userVersion = 1; } + if (userVersion < 2) { + // Owner should be marked as initialized + UserInfo user = mUsers.get(UserHandle.USER_OWNER); + if ((user.flags & UserInfo.FLAG_INITIALIZED) == 0) { + user.flags |= UserInfo.FLAG_INITIALIZED; + writeUserLocked(user); + } + userVersion = 2; + } + if (userVersion < USER_VERSION) { Slog.w(LOG_TAG, "User version " + mUserVersion + " didn't upgrade as expected to " + USER_VERSION); |