Merge "Fix bug in policy engine" into udc-dev am: c31805c125

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23470681

Change-Id: I238370c66e5b12798e0278865c7b59b7814a136c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Kholoud Mohamed
2023-05-30 14:15:10 +00:00
committed by Automerger Merge Worker
3 changed files with 6 additions and 13 deletions

View File

@@ -454,8 +454,8 @@ final class DevicePolicyEngine {
onGlobalPolicyChanged(policyDefinition, enforcingAdmin); onGlobalPolicyChanged(policyDefinition, enforcingAdmin);
} }
applyGlobalPolicyOnUsersWithLocalPoliciesLocked( applyGlobalPolicyOnUsersWithLocalPoliciesLocked(policyDefinition, enforcingAdmin,
policyDefinition, enforcingAdmin, /* value= */ null, /* enforcePolicy= */ true); /* value= */ null, /* skipEnforcePolicy= */ false);
sendPolicyResultToAdmin( sendPolicyResultToAdmin(
enforcingAdmin, enforcingAdmin,

View File

@@ -14906,8 +14906,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
policy = new LockTaskPolicy(currentPolicy); policy = new LockTaskPolicy(currentPolicy);
policy.setPackages(Set.of(packages)); policy.setPackages(Set.of(packages));
} }
if (policy.getPackages().isEmpty() if (policy.getPackages().isEmpty()) {
&& policy.getFlags() == DevicePolicyManager.LOCK_TASK_FEATURE_NONE) {
mDevicePolicyEngine.removeLocalPolicy( mDevicePolicyEngine.removeLocalPolicy(
PolicyDefinition.LOCK_TASK, PolicyDefinition.LOCK_TASK,
enforcingAdmin, enforcingAdmin,
@@ -20689,7 +20688,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
private void addUserControlDisabledPackages(CallerIdentity caller, private void addUserControlDisabledPackages(CallerIdentity caller,
EnforcingAdmin enforcingAdmin, Set<String> packages) { EnforcingAdmin enforcingAdmin, Set<String> packages) {
if (isCallerDeviceOwner(caller)) { if (isDeviceOwner(caller)) {
mDevicePolicyEngine.setGlobalPolicy( mDevicePolicyEngine.setGlobalPolicy(
PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES,
enforcingAdmin, enforcingAdmin,
@@ -20705,7 +20704,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
private void removeUserControlDisabledPackages(CallerIdentity caller, private void removeUserControlDisabledPackages(CallerIdentity caller,
EnforcingAdmin enforcingAdmin) { EnforcingAdmin enforcingAdmin) {
if (isCallerDeviceOwner(caller)) { if (isDeviceOwner(caller)) {
mDevicePolicyEngine.removeGlobalPolicy( mDevicePolicyEngine.removeGlobalPolicy(
PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES, PolicyDefinition.USER_CONTROLLED_DISABLED_PACKAGES,
enforcingAdmin); enforcingAdmin);
@@ -20717,12 +20716,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
} }
} }
private boolean isCallerDeviceOwner(CallerIdentity caller) {
synchronized (getLockObject()) {
return getDeviceOwnerUserIdUncheckedLocked() == caller.getUserId();
}
}
@Override @Override
public List<String> getUserControlDisabledPackages(ComponentName who, public List<String> getUserControlDisabledPackages(ComponentName who,
String callerPackageName) { String callerPackageName) {

View File

@@ -167,7 +167,7 @@ final class PolicyEnforcerCallbacks {
packages == null ? null : packages.stream().toList()); packages == null ? null : packages.stream().toList());
LocalServices.getService(UsageStatsManagerInternal.class) LocalServices.getService(UsageStatsManagerInternal.class)
.setAdminProtectedPackages( .setAdminProtectedPackages(
packages == null ? null : new ArraySet(packages), userId); packages == null ? null : new ArraySet<>(packages), userId);
}); });
return true; return true;
} }