Merge "Fix policy transparency for camera disabled policy" into udc-dev

This commit is contained in:
Kholoud Mohamed
2023-04-24 16:08:39 +00:00
committed by Android (Google) Code Review

View File

@@ -16219,17 +16219,39 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
deviceOwner.second); deviceOwner.second);
return result; return result;
} }
} else if (DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction) } else if (DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction)) {
|| DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction)) {
synchronized (getLockObject()) { synchronized (getLockObject()) {
final DevicePolicyData policy = getUserData(userId); final DevicePolicyData policy = getUserData(userId);
final int N = policy.mAdminList.size(); final int N = policy.mAdminList.size();
for (int i = 0; i < N; i++) { for (int i = 0; i < N; i++) {
final ActiveAdmin admin = policy.mAdminList.get(i); final ActiveAdmin admin = policy.mAdminList.get(i);
if ((admin.disableCamera && if (admin.disableScreenCapture) {
DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction)) result = new Bundle();
|| (admin.disableScreenCapture && DevicePolicyManager result.putInt(Intent.EXTRA_USER_ID, userId);
.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction))) { result.putParcelable(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
admin.info.getComponent());
return result;
}
}
}
} else if (DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction)) {
if (isPolicyEngineForFinanceFlagEnabled()) {
PolicyDefinition<Boolean> policyDefinition =
PolicyDefinition.getPolicyDefinitionForUserRestriction(
UserManager.DISALLOW_CAMERA);
Boolean value = mDevicePolicyEngine.getResolvedPolicy(policyDefinition, userId);
if (value != null && value) {
result = new Bundle();
result.putInt(Intent.EXTRA_USER_ID, userId);
return result;
}
} else {
synchronized (getLockObject()) {
final DevicePolicyData policy = getUserData(userId);
final int N = policy.mAdminList.size();
for (int i = 0; i < N; i++) {
final ActiveAdmin admin = policy.mAdminList.get(i);
if (admin.disableCamera) {
result = new Bundle(); result = new Bundle();
result.putInt(Intent.EXTRA_USER_ID, userId); result.putInt(Intent.EXTRA_USER_ID, userId);
result.putParcelable(DevicePolicyManager.EXTRA_DEVICE_ADMIN, result.putParcelable(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
@@ -16251,6 +16273,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
} }
} }
} }
}
} else { } else {
long ident = mInjector.binderClearCallingIdentity(); long ident = mInjector.binderClearCallingIdentity();
try { try {