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

Commit 59192ddc authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Revert "Default Trust Agents are now always enforced."" into...

Merge "Merge "Revert "Default Trust Agents are now always enforced."" into oc-dr1-dev am: 9731c8bf am: 7ba5f8e2"
parents 9191b326 ac414948
Loading
Loading
Loading
Loading
+13 −16
Original line number Diff line number Diff line
@@ -67,7 +67,6 @@ import java.io.FileDescriptor;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -589,22 +588,20 @@ public class TrustManagerService extends SystemService {
    }

    private void maybeEnableFactoryTrustAgents(LockPatternUtils utils, int userId) {
        ComponentName defaultAgent = getDefaultFactoryTrustAgent(mContext);
        boolean shouldUseDefaultAgent = defaultAgent != null;

        if (shouldUseDefaultAgent) {
            Log.i(TAG, "Enabling " + defaultAgent + " because it is a default agent.");
            utils.setEnabledTrustAgents(Collections.singleton(defaultAgent), userId);
        } else { // A default agent is not set; perform regular trust agent discovery
        if (0 != Settings.Secure.getIntForUser(mContext.getContentResolver(),
                Settings.Secure.TRUST_AGENTS_INITIALIZED, 0, userId)) {
            return;
        }
        PackageManager pm = mContext.getPackageManager();
        List<ResolveInfo> resolveInfos = resolveAllowedTrustAgents(pm, userId);

        ComponentName defaultAgent = getDefaultFactoryTrustAgent(mContext);
        boolean shouldUseDefaultAgent = defaultAgent != null;
        ArraySet<ComponentName> discoveredAgents = new ArraySet<>();

        if (shouldUseDefaultAgent) {
            discoveredAgents.add(defaultAgent);
            Log.i(TAG, "Enabling " + defaultAgent + " because it is a default agent.");
        } else { // A default agent is not set; perform regular trust agent discovery
            for (ResolveInfo resolveInfo : resolveInfos) {
                ComponentName componentName = getComponentName(resolveInfo);
                int applicationInfoFlags = resolveInfo.serviceInfo.applicationInfo.flags;
@@ -615,13 +612,13 @@ public class TrustManagerService extends SystemService {
                }
                discoveredAgents.add(componentName);
            }
        }

        List<ComponentName> previouslyEnabledAgents = utils.getEnabledTrustAgents(userId);
        if (previouslyEnabledAgents != null) {
            discoveredAgents.addAll(previouslyEnabledAgents);
        }
        utils.setEnabledTrustAgents(discoveredAgents, userId);
        }
        Settings.Secure.putIntForUser(mContext.getContentResolver(),
                Settings.Secure.TRUST_AGENTS_INITIALIZED, 1, userId);
    }