Merge "Construct ESIDCalculator class object just once"

This commit is contained in:
Ayush Sharma
2021-08-15 19:20:18 +00:00
committed by Android (Google) Code Review

View File

@@ -648,6 +648,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
private final DevicePolicyCacheImpl mPolicyCache = new DevicePolicyCacheImpl();
private final DeviceStateCacheImpl mStateCache = new DeviceStateCacheImpl();
private final Object mESIDInitilizationLock = new Object();
private EnterpriseSpecificIdCalculator mEsidCalculator;
/**
* Contains (package-user) pairs to remove. An entry (p, u) implies that removal of package p
@@ -1473,6 +1475,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
return new LockPatternUtils(mContext);
}
EnterpriseSpecificIdCalculator newEnterpriseSpecificIdCalculator() {
return new EnterpriseSpecificIdCalculator(mContext);
}
boolean storageManagerIsFileBasedEncryptionEnabled() {
return StorageManager.isFileEncryptedNativeOnly();
}
@@ -16919,6 +16925,14 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
Slogf.i(LOG_TAG, "Setting Enterprise ID to %s for user %d", organizationId, userId);
synchronized (mESIDInitilizationLock) {
if (mEsidCalculator == null) {
mInjector.binderWithCleanCallingIdentity(() -> {
mEsidCalculator = mInjector.newEnterpriseSpecificIdCalculator();
});
}
}
final String ownerPackage;
synchronized (getLockObject()) {
final ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
@@ -16936,16 +16950,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
"The organization ID has been previously set to a different value and cannot "
+ "be changed");
final String dpcPackage = owner.info.getPackageName();
mInjector.binderWithCleanCallingIdentity(() -> {
EnterpriseSpecificIdCalculator esidCalculator =
new EnterpriseSpecificIdCalculator(mContext);
final String esid = esidCalculator.calculateEnterpriseId(dpcPackage,
organizationId);
owner.mOrganizationId = organizationId;
owner.mEnrollmentSpecificId = esid;
saveSettingsLocked(userId);
});
final String esid = mEsidCalculator.calculateEnterpriseId(dpcPackage,
organizationId);
owner.mOrganizationId = organizationId;
owner.mEnrollmentSpecificId = esid;
saveSettingsLocked(userId);
}
DevicePolicyEventLogger