Log metrics for setting Organization ID

As a proxy for measuring adoption of Enrollment-specific ID.

Bug: 168627890
Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testEnrollmentSpecificIdCorrectCalculation com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testEnrollmentSpecificIdCorrectCalculation
Change-Id: I1dc22d49ac0398bd6284e8c3639c6147819b08f0
This commit is contained in:
Eran Messeri
2021-01-19 21:43:26 +00:00
parent 5c44f55a92
commit e1297b03bf

View File

@@ -15830,8 +15830,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
Log.i(LOG_TAG,
String.format("Setting Enterprise ID to %s for user %d", organizationId, userId));
final String ownerPackage;
synchronized (getLockObject()) {
ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
final ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
// As the caller is the system, it must specify the component name of the profile owner
// as a safety check.
Preconditions.checkCallAuthorization(
@@ -15839,6 +15840,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
String.format("The Profile Owner or Device Owner may only set the Enterprise ID"
+ " on its own user, called on user %d but owner user is %d", userId,
owner.getUserHandle().getIdentifier()));
ownerPackage = owner.info.getPackageName();
Preconditions.checkState(
TextUtils.isEmpty(owner.mOrganizationId) || owner.mOrganizationId.equals(
organizationId),
@@ -15856,5 +15858,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
saveSettingsLocked(userId);
});
}
DevicePolicyEventLogger
.createEvent(DevicePolicyEnums.SET_ORGANIZATION_ID)
.setAdmin(ownerPackage)
.setBoolean(isManagedProfile(userId))
.write();
}
}