Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93f954e2 authored by Kholoud Mohamed's avatar Kholoud Mohamed Committed by Automerger Merge Worker
Browse files

Merge "Fix policy transparency for camera disabled policy" into udc-dev am: 5ee04a8a

parents 710d83c5 5ee04a8a
Loading
Loading
Loading
Loading
+40 −17
Original line number Diff line number Diff line
@@ -16219,17 +16219,39 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                        deviceOwner.second);
                return result;
            }
        } else if (DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction)
                || DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction)) {
        } else if (DevicePolicyManager.POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction)) {
            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 &&
                            DevicePolicyManager.POLICY_DISABLE_CAMERA.equals(restriction))
                            || (admin.disableScreenCapture && DevicePolicyManager
                            .POLICY_DISABLE_SCREEN_CAPTURE.equals(restriction))) {
                    if (admin.disableScreenCapture) {
                        result = new Bundle();
                        result.putInt(Intent.EXTRA_USER_ID, userId);
                        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.putInt(Intent.EXTRA_USER_ID, userId);
                            result.putParcelable(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
@@ -16251,6 +16273,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                        }
                    }
                }
            }
        } else {
            long ident = mInjector.binderClearCallingIdentity();
            try {