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

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

Merge "Fix lock task clearing for affiliated users" into udc-dev am: 029eb856 am: 05deb7c3

parents 4a86b9a7 05deb7c3
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);
                    }
                }
            }
        });