Merge "Fix mDeviceOwnerUserId locking and annotation"

This commit is contained in:
TreeHugger Robot
2022-05-06 22:57:51 +00:00
committed by Android (Google) Code Review

View File

@@ -291,6 +291,7 @@ public class UserManagerService extends IUserManager.Stub {
private final Handler mHandler;
private final File mUsersDir;
@GuardedBy("mPackagesLock")
private final File mUserListFile;
private static final IBinder mUserRestriconToken = new Binder();
@@ -3025,7 +3026,7 @@ public class UserManagerService extends IUserManager.Stub {
mUpdatingSystemUserMode = true;
}
@GuardedBy({"mRestrictionsLock", "mPackagesLock"})
@GuardedBy({"mPackagesLock"})
private void readUserListLP() {
if (!mUserListFile.exists()) {
fallbackToSingleUserLP();
@@ -3093,8 +3094,10 @@ public class UserManagerService extends IUserManager.Stub {
} else if (name.equals(TAG_DEVICE_OWNER_USER_ID)
// Legacy name, should only be encountered when upgrading from pre-O.
|| name.equals(TAG_GLOBAL_RESTRICTION_OWNER_ID)) {
mDeviceOwnerUserId =
parser.getAttributeInt(null, ATTR_ID, mDeviceOwnerUserId);
synchronized (mRestrictionsLock) {
mDeviceOwnerUserId =
parser.getAttributeInt(null, ATTR_ID, mDeviceOwnerUserId);
}
} else if (name.equals(TAG_DEVICE_POLICY_RESTRICTIONS)) {
// Should only happen when upgrading from pre-O (version < 7).
oldDevicePolicyGlobalUserRestrictions =
@@ -3116,7 +3119,7 @@ public class UserManagerService extends IUserManager.Stub {
* Upgrade steps between versions, either for fixing bugs or changing the data format.
* @param oldGlobalUserRestrictions Pre-O global device policy restrictions.
*/
@GuardedBy({"mRestrictionsLock", "mPackagesLock"})
@GuardedBy({"mPackagesLock"})
private void upgradeIfNecessaryLP(Bundle oldGlobalUserRestrictions) {
upgradeIfNecessaryLP(oldGlobalUserRestrictions, mUserVersion, mUserTypeVersion);
}
@@ -3125,7 +3128,7 @@ public class UserManagerService extends IUserManager.Stub {
* Version of {@link #upgradeIfNecessaryLP(Bundle)} that takes in the userVersion for testing
* purposes. For non-tests, use {@link #upgradeIfNecessaryLP(Bundle)}.
*/
@GuardedBy({"mRestrictionsLock", "mPackagesLock"})
@GuardedBy({"mPackagesLock"})
@VisibleForTesting
void upgradeIfNecessaryLP(Bundle oldGlobalUserRestrictions, int userVersion,
int userTypeVersion) {
@@ -3386,7 +3389,7 @@ public class UserManagerService extends IUserManager.Stub {
userInfo.profileBadge = getFreeProfileBadgeLU(userInfo.profileGroupId, userInfo.userType);
}
@GuardedBy({"mPackagesLock", "mRestrictionsLock"})
@GuardedBy({"mPackagesLock"})
private void fallbackToSingleUserLP() {
int flags = UserInfo.FLAG_SYSTEM | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN
| UserInfo.FLAG_PRIMARY;
@@ -3594,7 +3597,7 @@ public class UserManagerService extends IUserManager.Stub {
* <user id="2"></user>
* </users>
*/
@GuardedBy({"mRestrictionsLock", "mPackagesLock"})
@GuardedBy({"mPackagesLock"})
private void writeUserListLP() {
if (DBG) {
debug("writeUserList");
@@ -3619,7 +3622,9 @@ public class UserManagerService extends IUserManager.Stub {
}
serializer.endTag(null, TAG_GUEST_RESTRICTIONS);
serializer.startTag(null, TAG_DEVICE_OWNER_USER_ID);
serializer.attributeInt(null, ATTR_ID, mDeviceOwnerUserId);
synchronized (mRestrictionsLock) {
serializer.attributeInt(null, ATTR_ID, mDeviceOwnerUserId);
}
serializer.endTag(null, TAG_DEVICE_OWNER_USER_ID);
int[] userIdsToWrite;
synchronized (mUsersLock) {
@@ -5950,7 +5955,9 @@ public class UserManagerService extends IUserManager.Stub {
pw.println();
pw.println("Device properties:");
pw.println(" Device owner id:" + mDeviceOwnerUserId);
synchronized (mRestrictionsLock) {
pw.println(" Device owner id:" + mDeviceOwnerUserId);
}
pw.println();
pw.println(" Guest restrictions:");
synchronized (mGuestRestrictions) {