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

Commit 029eb856 authored by Kholoud Mohamed's avatar Kholoud Mohamed Committed by Android (Google) Code Review
Browse files

Merge "Fix lock task clearing for affiliated users" into udc-dev

parents 0008bee5 c7fc36a8
Loading
Loading
Loading
Loading
+28 −12
Original line number Diff line number Diff line
@@ -14957,18 +14957,34 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                    continue;
                }
                if (isPolicyEngineForFinanceFlagEnabled()) {
                    Map<EnforcingAdmin, PolicyValue<LockTaskPolicy>> policies =
                            mDevicePolicyEngine.getLocalPoliciesSetByAdmins(
                                    PolicyDefinition.LOCK_TASK, userId);
                    Set<EnforcingAdmin> admins = new HashSet<>(policies.keySet());
                    for (EnforcingAdmin admin : admins) {
                        if (admin.hasAuthority(EnforcingAdmin.DPC_AUTHORITY)) {
                            mDevicePolicyEngine.removeLocalPolicy(
                                    PolicyDefinition.LOCK_TASK, admin, userId);
                        }
                    }
                } else {
                    final List<String> lockTaskPackages = getUserData(userId).mLockTaskPackages;
                    // TODO(b/278438525): handle in the policy engine
                    if (!lockTaskPackages.isEmpty()) {
                        Slogf.d(LOG_TAG,
                            "User id " + userId + " not affiliated. Clearing lock task packages");
                                "User id " + userId
                                        + " not affiliated. Clearing lock task packages");
                        setLockTaskPackagesLocked(userId, Collections.<String>emptyList());
                    }
                    final int lockTaskFeatures = getUserData(userId).mLockTaskFeatures;
                    if (lockTaskFeatures != DevicePolicyManager.LOCK_TASK_FEATURE_NONE) {
                        Slogf.d(LOG_TAG,
                            "User id " + userId + " not affiliated. Clearing lock task features");
                    setLockTaskFeaturesLocked(userId, DevicePolicyManager.LOCK_TASK_FEATURE_NONE);
                                "User id " + userId
                                        + " not affiliated. Clearing lock task features");
                        setLockTaskFeaturesLocked(userId,
                                DevicePolicyManager.LOCK_TASK_FEATURE_NONE);
                    }
                }
            }
        });