summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/pm/UserManagerService.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-11-15 14:39:18 -0800
committerAmith Yamasani <yamasani@google.com>2012-11-15 14:43:13 -0800
commitbc9625059bccc8f0d70540d0affd73320620c3c0 (patch)
tree823b6ed96db21b1d5df0f4d714c8c45139834f93 /services/java/com/android/server/pm/UserManagerService.java
parent674a131cb625a7aae0c6e50a24a968200c71b566 (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.java15
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);