Merge "Fix policy transparency for camera disabled policy" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5ee04a8a1c
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user