Merge "Construct ESIDCalculator class object just once"
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user