diff options
3 files changed, 60 insertions, 8 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java index 6aeb4fd53905..28fe5dfc9bc1 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java @@ -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(); } } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java b/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java index 49ffb0d01019..d234dee3c8f7 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java @@ -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(); } } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java index c2e370eeec44..c544ebc008b9 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java @@ -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); |