Merge "Allow overriding "keep profiles running" in tests"

This commit is contained in:
Pavel Grafov
2023-02-14 21:21:51 +00:00
committed by Android (Google) Code Review
4 changed files with 29 additions and 1 deletions

View File

@@ -548,6 +548,7 @@ package android.app.admin {
method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean setDeviceOwnerOnly(@NonNull android.content.ComponentName, int);
method public void setDeviceOwnerType(@NonNull android.content.ComponentName, int);
method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void setNextOperationSafety(int, int);
method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setOverrideKeepProfilesRunning(boolean);
method @RequiresPermission(anyOf={android.Manifest.permission.MARK_DEVICE_ORGANIZATION_OWNED, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}, conditional=true) public void setProfileOwnerOnOrganizationOwnedDevice(@NonNull android.content.ComponentName, boolean);
method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean triggerDevicePolicyEngineMigration(boolean);
field public static final String ACTION_DATA_SHARING_RESTRICTION_APPLIED = "android.app.action.DATA_SHARING_RESTRICTION_APPLIED";

View File

@@ -16433,6 +16433,23 @@ public class DevicePolicyManager {
return null;
}
/**
* Overrides the effective cached value of enable_keep_profiles_running for testing purposes.
*
* @hide
*/
@TestApi
@RequiresPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS)
public void setOverrideKeepProfilesRunning(boolean enabled) {
if (mService != null) {
try {
mService.setOverrideKeepProfilesRunning(enabled);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
}
/**
* Triggers the data migration of device policies for existing DPCs to the Device Policy Engine.
* If {@code forceMigration} is set to {@code true} it skips the prerequisite checks before

View File

@@ -599,5 +599,7 @@ interface IDevicePolicyManager {
DevicePolicyState getDevicePolicyState();
void setOverrideKeepProfilesRunning(boolean enabled);
boolean triggerDevicePolicyEngineMigration(boolean forceMigration);
}

View File

@@ -805,7 +805,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
* This feature flag is checked once after boot and this value us used until the next reboot to
* avoid needing to handle the flag changing on the fly.
*/
private final boolean mKeepProfilesRunning = isKeepProfilesRunningFlagEnabled();
private boolean mKeepProfilesRunning = isKeepProfilesRunningFlagEnabled();
/**
* For apps targeting U+
@@ -20965,6 +20965,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
DEFAULT_WORK_PROFILE_TELEPHONY_FLAG);
}
@Override
public void setOverrideKeepProfilesRunning(boolean enabled) {
Preconditions.checkCallAuthorization(
hasCallingOrSelfPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS));
mKeepProfilesRunning = enabled;
Slog.i(LOG_TAG, "Keep profiles running overridden to: " + enabled);
}
@Override
public void setMtePolicy(int flags) {
final Set<Integer> allowedModes =