summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java20
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java20
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java28
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);