Merge "Fix bug in policy engine" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c31805c125
@@ -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,
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user