Merge "Log PO and DO provisioning params" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bf03ae3b78
@@ -472,6 +472,7 @@ package android.app.admin {
|
||||
method @NonNull public String getOwnerName();
|
||||
method @Nullable public String getTimeZone();
|
||||
method public boolean isLeaveAllSystemAppsEnabled();
|
||||
method public void logParams(@NonNull String);
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
|
||||
}
|
||||
@@ -495,6 +496,7 @@ package android.app.admin {
|
||||
method public boolean isKeepAccountMigrated();
|
||||
method public boolean isLeaveAllSystemAppsEnabled();
|
||||
method public boolean isOrganizationOwnedProvisioning();
|
||||
method public void logParams(@NonNull String);
|
||||
method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import android.annotation.TestApi;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.stats.devicepolicy.DevicePolicyEnums;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -35,6 +36,13 @@ import java.util.Locale;
|
||||
*/
|
||||
@TestApi
|
||||
public final class FullyManagedDeviceProvisioningParams implements Parcelable {
|
||||
private static final String LEAVE_ALL_SYSTEM_APPS_ENABLED_PARAM =
|
||||
"LEAVE_ALL_SYSTEM_APPS_ENABLED";
|
||||
private static final String CAN_DEVICE_OWNER_GRANT_SENSOR_PERMISSIONS_PARAM =
|
||||
"CAN_DEVICE_OWNER_GRANT_SENSOR_PERMISSIONS";
|
||||
private static final String TIME_ZONE_PROVIDED_PARAM = "TIME_ZONE_PROVIDED";
|
||||
private static final String LOCALE_PROVIDED_PARAM = "LOCALE_PROVIDED";
|
||||
|
||||
@NonNull private final ComponentName mDeviceAdminComponentName;
|
||||
@NonNull private final String mOwnerName;
|
||||
private final boolean mLeaveAllSystemAppsEnabled;
|
||||
@@ -120,6 +128,29 @@ public final class FullyManagedDeviceProvisioningParams implements Parcelable {
|
||||
return mDeviceOwnerCanGrantSensorsPermissions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs the provisioning params using {@link DevicePolicyEventLogger}.
|
||||
*/
|
||||
public void logParams(@NonNull String callerPackage) {
|
||||
requireNonNull(callerPackage);
|
||||
|
||||
logParam(callerPackage, LEAVE_ALL_SYSTEM_APPS_ENABLED_PARAM, mLeaveAllSystemAppsEnabled);
|
||||
logParam(callerPackage, CAN_DEVICE_OWNER_GRANT_SENSOR_PERMISSIONS_PARAM,
|
||||
mDeviceOwnerCanGrantSensorsPermissions);
|
||||
logParam(callerPackage, TIME_ZONE_PROVIDED_PARAM, /* value= */ mTimeZone != null);
|
||||
logParam(callerPackage, LOCALE_PROVIDED_PARAM, /* value= */ mLocale != null);
|
||||
}
|
||||
|
||||
private void logParam(String callerPackage, String param, boolean value) {
|
||||
DevicePolicyEventLogger
|
||||
.createEvent(DevicePolicyEnums.PLATFORM_PROVISIONING_PARAM)
|
||||
.setStrings(callerPackage)
|
||||
.setAdmin(mDeviceAdminComponentName)
|
||||
.setStrings(param)
|
||||
.setBoolean(value)
|
||||
.write();
|
||||
}
|
||||
|
||||
/**
|
||||
* Builder class for {@link FullyManagedDeviceProvisioningParams} objects.
|
||||
*/
|
||||
|
||||
@@ -25,6 +25,7 @@ import android.annotation.TestApi;
|
||||
import android.content.ComponentName;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.stats.devicepolicy.DevicePolicyEnums;
|
||||
|
||||
/**
|
||||
* Params required to provision a managed profile, see
|
||||
@@ -34,6 +35,13 @@ import android.os.Parcelable;
|
||||
*/
|
||||
@TestApi
|
||||
public final class ManagedProfileProvisioningParams implements Parcelable {
|
||||
private static final String LEAVE_ALL_SYSTEM_APPS_ENABLED_PARAM =
|
||||
"LEAVE_ALL_SYSTEM_APPS_ENABLED";
|
||||
private static final String ORGANIZATION_OWNED_PROVISIONING_PARAM =
|
||||
"ORGANIZATION_OWNED_PROVISIONING";
|
||||
private static final String ACCOUNT_TO_MIGRATE_PROVIDED_PARAM = "ACCOUNT_TO_MIGRATE_PROVIDED";
|
||||
private static final String KEEP_MIGRATED_ACCOUNT_PARAM = "KEEP_MIGRATED_ACCOUNT";
|
||||
|
||||
@NonNull private final ComponentName mProfileAdminComponentName;
|
||||
@NonNull private final String mOwnerName;
|
||||
@Nullable private final String mProfileName;
|
||||
@@ -92,6 +100,30 @@ public final class ManagedProfileProvisioningParams implements Parcelable {
|
||||
return mKeepAccountMigrated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs the provisioning params using {@link DevicePolicyEventLogger}.
|
||||
*/
|
||||
public void logParams(@NonNull String callerPackage) {
|
||||
requireNonNull(callerPackage);
|
||||
|
||||
logParam(callerPackage, LEAVE_ALL_SYSTEM_APPS_ENABLED_PARAM, mLeaveAllSystemAppsEnabled);
|
||||
logParam(callerPackage, ORGANIZATION_OWNED_PROVISIONING_PARAM,
|
||||
mOrganizationOwnedProvisioning);
|
||||
logParam(callerPackage, KEEP_MIGRATED_ACCOUNT_PARAM, mKeepAccountMigrated);
|
||||
logParam(callerPackage, ACCOUNT_TO_MIGRATE_PROVIDED_PARAM,
|
||||
/* value= */ mAccountToMigrate != null);
|
||||
}
|
||||
|
||||
private void logParam(String callerPackage, String param, boolean value) {
|
||||
DevicePolicyEventLogger
|
||||
.createEvent(DevicePolicyEnums.PLATFORM_PROVISIONING_PARAM)
|
||||
.setStrings(callerPackage)
|
||||
.setAdmin(mProfileAdminComponentName)
|
||||
.setStrings(param)
|
||||
.setBoolean(value)
|
||||
.write();
|
||||
}
|
||||
|
||||
/**
|
||||
* Builder class for {@link ManagedProfileProvisioningParams} objects.
|
||||
*/
|
||||
|
||||
@@ -15985,6 +15985,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
public UserHandle createAndProvisionManagedProfile(
|
||||
@NonNull ManagedProfileProvisioningParams provisioningParams,
|
||||
@NonNull String callerPackage) {
|
||||
Objects.requireNonNull(provisioningParams, "provisioningParams is null");
|
||||
Objects.requireNonNull(callerPackage, "callerPackage is null");
|
||||
|
||||
final ComponentName admin = provisioningParams.getProfileAdminComponentName();
|
||||
Objects.requireNonNull(admin, "admin is null");
|
||||
|
||||
@@ -15992,6 +15995,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
Preconditions.checkCallAuthorization(
|
||||
hasCallingOrSelfPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS));
|
||||
|
||||
provisioningParams.logParams(callerPackage);
|
||||
|
||||
UserInfo userInfo = null;
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -16291,9 +16296,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
|
||||
@Override
|
||||
public void provisionFullyManagedDevice(
|
||||
FullyManagedDeviceProvisioningParams provisioningParams, String callerPackage) {
|
||||
ComponentName deviceAdmin = provisioningParams.getDeviceAdminComponentName();
|
||||
@NonNull FullyManagedDeviceProvisioningParams provisioningParams,
|
||||
@NonNull String callerPackage) {
|
||||
Objects.requireNonNull(provisioningParams, "provisioningParams is null.");
|
||||
Objects.requireNonNull(callerPackage, "callerPackage is null.");
|
||||
|
||||
ComponentName deviceAdmin = provisioningParams.getDeviceAdminComponentName();
|
||||
Objects.requireNonNull(deviceAdmin, "admin is null.");
|
||||
Objects.requireNonNull(provisioningParams.getOwnerName(), "owner name is null.");
|
||||
|
||||
@@ -16301,6 +16309,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
Preconditions.checkCallAuthorization(
|
||||
hasCallingOrSelfPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS));
|
||||
|
||||
provisioningParams.logParams(callerPackage);
|
||||
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
// TODO(b/178187130): This check fails silent provisioning, uncomment once silent
|
||||
|
||||
Reference in New Issue
Block a user