continue;
}
if (!excludeDying || !mRemovingUserIds.get(ui.id)) {
- users.add(ui);
+ users.add(userWithName(ui));
}
}
return users;
if (mRemovingUserIds.get(profile.id)) {
continue;
}
- users.add(profile);
+ users.add(userWithName(profile));
}
return users;
}
public UserInfo getUserInfo(int userId) {
checkManageUsersPermission("query user");
synchronized (mUsersLock) {
- return getUserInfoLU(userId);
+ return userWithName(getUserInfoLU(userId));
+ }
+ }
+
+ /**
+ * Returns a UserInfo object with the name filled in, for Owner, or the original
+ * if the name is already set.
+ */
+ private UserInfo userWithName(UserInfo orig) {
+ if (orig != null && orig.name == null && orig.id == UserHandle.USER_SYSTEM) {
+ UserInfo withName = new UserInfo(orig);
+ withName.name = getOwnerName();
+ return withName;
+ } else {
+ return orig;
}
}
flags |= UserInfo.FLAG_ADMIN | UserInfo.FLAG_PRIMARY;
}
// Create the system user
- UserInfo system = new UserInfo(UserHandle.USER_SYSTEM,
- mContext.getResources().getString(com.android.internal.R.string.owner_name), null,
- flags);
+ UserInfo system = new UserInfo(UserHandle.USER_SYSTEM, null, null, flags);
UserData userData = new UserData();
userData.info = system;
synchronized (mUsersLock) {
writeUserLP(userData);
}
+ private String getOwnerName() {
+ return mContext.getResources().getString(com.android.internal.R.string.owner_name);
+ }
+
private void scheduleWriteUser(UserData UserData) {
if (DBG) {
debug("scheduleWriteUser");
serializer.attribute(null, ATTR_SEED_ACCOUNT_TYPE, userData.seedAccountType);
}
}
- serializer.startTag(null, TAG_NAME);
- serializer.text(userInfo.name);
- serializer.endTag(null, TAG_NAME);
+ if (userInfo.name != null) {
+ serializer.startTag(null, TAG_NAME);
+ serializer.text(userInfo.name);
+ serializer.endTag(null, TAG_NAME);
+ }
synchronized (mRestrictionsLock) {
UserRestrictionsUtils.writeRestrictions(serializer,
mBaseUserRestrictions.get(userInfo.id), TAG_RESTRICTIONS);