Skip to content
Snippets Groups Projects
Commit 04c015a8 authored by Pavel Grafov's avatar Pavel Grafov
Browse files

Allow overriding "keep profiles running" in tests

Bug: 258425381
Test: atest android.devicepolicy.cts.QuietModeTest
Change-Id: I92f3054c3d33284511b36718284ede3146f3cb30
parent 14bb16ce
No related branches found
No related tags found
No related merge requests found
......@@ -546,6 +546,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";
......
......@@ -16352,6 +16352,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
......
......@@ -596,5 +596,7 @@ interface IDevicePolicyManager {
DevicePolicyState getDevicePolicyState();
void setOverrideKeepProfilesRunning(boolean enabled);
boolean triggerDevicePolicyEngineMigration(boolean forceMigration);
}
......@@ -804,7 +804,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+
......@@ -20790,6 +20790,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 =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment