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

Commit fe87b861 authored by Rubin Xu's avatar Rubin Xu Committed by Android (Google) Code Review
Browse files

Merge "Tweak dumpsys content for DevicePolicyEngine" into main

parents f526dca9 9b372f8c
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -1671,19 +1671,29 @@ final class DevicePolicyEngine {
    public void dump(IndentingPrintWriter pw) {
        synchronized (mLock) {
            pw.println("Local Policies: ");
            pw.increaseIndent();
            for (int i = 0; i < mLocalPolicies.size(); i++) {
                for (PolicyKey policy : mLocalPolicies.get(mLocalPolicies.keyAt(i)).keySet()) {
                    PolicyState<?> policyState = mLocalPolicies.get(
                            mLocalPolicies.keyAt(i)).get(policy);
                    pw.println(policyState);
                int userId = mLocalPolicies.keyAt(i);
                pw.printf("User %d:\n", userId);
                pw.increaseIndent();
                for (PolicyKey policy : mLocalPolicies.get(userId).keySet()) {
                    PolicyState<?> policyState = mLocalPolicies.get(userId).get(policy);
                    policyState.dump(pw);
                    pw.println();
                }
                pw.decreaseIndent();
            }
            pw.decreaseIndent();
            pw.println();

            pw.println("Global Policies: ");
            pw.increaseIndent();
            for (PolicyKey policy : mGlobalPolicies.keySet()) {
                PolicyState<?> policyState = mGlobalPolicies.get(policy);
                pw.println(policyState);
                policyState.dump(pw);
                pw.println();
            }
            pw.decreaseIndent();
        }
    }

+17 −3
Original line number Diff line number Diff line
@@ -325,8 +325,22 @@ final class EnforcingAdmin {

    @Override
    public String toString() {
        return "EnforcingAdmin { mPackageName= " + mPackageName + ", mComponentName= "
                + mComponentName + ", mAuthorities= " + mAuthorities + ", mUserId= "
                + mUserId + ", mIsRoleAuthority= " + mIsRoleAuthority + " }\n";
        StringBuilder sb = new StringBuilder();
        sb.append("EnforcingAdmin { mPackageName= ");
        sb.append(mPackageName);
        if (mComponentName != null) {
            sb.append(", mComponentName= ");
            sb.append(mComponentName);
        }
        if (mAuthorities != null) {
            sb.append(", mAuthorities= ");
            sb.append(mAuthorities);
        }
        sb.append(", mUserId= ");
        sb.append(mUserId);
        sb.append(", mIsRoleAuthority= ");
        sb.append(mIsRoleAuthority);
        sb.append(" }");
        return sb.toString();
    }
}
+28 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.devicepolicy;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.admin.PolicyValue;
import android.util.IndentingPrintWriter;

import com.android.internal.util.XmlUtils;
import com.android.modules.utils.TypedXmlPullParser;
@@ -195,6 +196,33 @@ final class PolicyState<V> {
                + ",\nmCurrentResolvedPolicy= \n\t" + mCurrentResolvedPolicy + " }";
    }

    public void dump(IndentingPrintWriter pw) {
        pw.println(mPolicyDefinition.getPolicyKey());
        pw.increaseIndent();

        pw.println("Per-admin Policy");
        pw.increaseIndent();
        if (mPoliciesSetByAdmins.size() == 0) {
            pw.println("null");
        } else {
            for (EnforcingAdmin admin : mPoliciesSetByAdmins.keySet()) {
                pw.println(admin);
                pw.increaseIndent();
                pw.println(mPoliciesSetByAdmins.get(admin));
                pw.decreaseIndent();
            }
        }
        pw.decreaseIndent();

        pw.printf("Resolved Policy (%s):\n",
                mPolicyDefinition.getResolutionMechanism().getClass().getSimpleName());
        pw.increaseIndent();
        pw.println(mCurrentResolvedPolicy);
        pw.decreaseIndent();

        pw.decreaseIndent();
    }

    void saveToXml(TypedXmlSerializer serializer) throws IOException {
        serializer.startTag(/* namespace= */ null, TAG_POLICY_DEFINITION_ENTRY);
        mPolicyDefinition.saveToXml(serializer);