summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRubin Xu <rubinxu@google.com>2019-05-01 11:43:35 +0100
committerRubin Xu <rubinxu@google.com>2019-07-29 12:00:01 +0100
commitfd0f321b6eca80f4e4ec517789d021ba801a495f (patch)
tree22ee8582ef37fd0e88431261c337dbfd1d1dec93
parentb93dc48c85e7701cd4411c532e56b506ac14b46c (diff)
Use IndentingPrintWriter in DevicePolicyManager
Replace the hardcoded prefix string with IndentingPrintWriter in various dump() methods in DPMS. Bug: 138559079 Test: manually diff result of "dumpsys device_policy" before and after the change. Change-Id: Id47c7f877e75071fa17cda48c7277f8aa70dfea5
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DeviceAdminServiceController.java18
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java13
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyConstants.java21
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java175
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/Owners.java34
5 files changed, 144 insertions, 117 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceAdminServiceController.java b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceAdminServiceController.java
index 85ca52e17ecb..279c678421da 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceAdminServiceController.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceAdminServiceController.java
@@ -31,11 +31,10 @@ import android.util.SparseArray;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.os.BackgroundThread;
+import com.android.internal.util.IndentingPrintWriter;
import com.android.server.am.PersistentConnection;
import com.android.server.appbinding.AppBindingUtils;
-import java.io.PrintWriter;
-
/**
* Manages connections to persistent services in owner packages.
*/
@@ -180,21 +179,24 @@ public class DeviceAdminServiceController {
}
}
- public void dump(String prefix, PrintWriter pw) {
+ /** dump content */
+ public void dump(IndentingPrintWriter pw) {
synchronized (mLock) {
if (mConnections.size() == 0) {
return;
}
- pw.println();
- pw.print(prefix); pw.println("Owner Services:");
+ pw.println("Owner Services:");
+ pw.increaseIndent();
for (int i = 0; i < mConnections.size(); i++) {
final int userId = mConnections.keyAt(i);
- pw.print(prefix); pw.print(" "); pw.print("User: "); pw.println(userId);
+ pw.print("User: "); pw.println(userId);
final DevicePolicyServiceConnection con = mConnections.valueAt(i);
- con.dump(prefix + " ", pw);
+ pw.increaseIndent();
+ con.dump("", pw);
+ pw.decreaseIndent();
}
- pw.println();
+ pw.decreaseIndent();
}
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java
index c50a5ffd4175..f3a693550b38 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyCacheImpl.java
@@ -22,8 +22,7 @@ import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
import com.android.internal.annotations.GuardedBy;
-
-import java.io.PrintWriter;
+import com.android.internal.util.IndentingPrintWriter;
/**
* Implementation of {@link DevicePolicyCache}, to which {@link DevicePolicyManagerService} pushes
@@ -80,9 +79,11 @@ public class DevicePolicyCacheImpl extends DevicePolicyCache {
}
/** Dump content */
- public void dump(String prefix, PrintWriter pw) {
- pw.println("Device policy cache");
- pw.println(prefix + "Screen capture disabled: " + mScreenCaptureDisabled.toString());
- pw.println(prefix + "Password quality: " + mPasswordQuality.toString());
+ public void dump(IndentingPrintWriter pw) {
+ pw.println("Device policy cache:");
+ pw.increaseIndent();
+ pw.println("Screen capture disabled: " + mScreenCaptureDisabled.toString());
+ pw.println("Password quality: " + mPasswordQuality.toString());
+ pw.decreaseIndent();
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyConstants.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyConstants.java
index fd59b4328f86..fec8a80a6a76 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyConstants.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyConstants.java
@@ -18,7 +18,8 @@ package com.android.server.devicepolicy;
import android.util.KeyValueListParser;
import android.util.Slog;
-import java.io.PrintWriter;
+import com.android.internal.util.IndentingPrintWriter;
+
import java.util.concurrent.TimeUnit;
/**
@@ -134,24 +135,22 @@ public class DevicePolicyConstants {
return new DevicePolicyConstants(settings);
}
- public void dump(String prefix, PrintWriter pw) {
- pw.print(prefix);
+ /** Dump constants */
+ public void dump(IndentingPrintWriter pw) {
pw.println("Constants:");
- pw.print(prefix);
- pw.print(" DAS_DIED_SERVICE_RECONNECT_BACKOFF_SEC: ");
+ pw.increaseIndent();
+ pw.print("DAS_DIED_SERVICE_RECONNECT_BACKOFF_SEC: ");
pw.println(DAS_DIED_SERVICE_RECONNECT_BACKOFF_SEC);
- pw.print(prefix);
- pw.print(" DAS_DIED_SERVICE_RECONNECT_BACKOFF_INCREASE: ");
+ pw.print("DAS_DIED_SERVICE_RECONNECT_BACKOFF_INCREASE: ");
pw.println(DAS_DIED_SERVICE_RECONNECT_BACKOFF_INCREASE);
- pw.print(prefix);
- pw.print(" DAS_DIED_SERVICE_RECONNECT_MAX_BACKOFF_SEC: ");
+ pw.print("DAS_DIED_SERVICE_RECONNECT_MAX_BACKOFF_SEC: ");
pw.println(DAS_DIED_SERVICE_RECONNECT_MAX_BACKOFF_SEC);
- pw.print(prefix);
- pw.print(" DAS_DIED_SERVICE_STABLE_CONNECTION_THRESHOLD_SEC: ");
+ pw.print("DAS_DIED_SERVICE_STABLE_CONNECTION_THRESHOLD_SEC: ");
pw.println(DAS_DIED_SERVICE_STABLE_CONNECTION_THRESHOLD_SEC);
+ pw.decreaseIndent();
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 68c9bada6fad..ba0636963fa2 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -242,6 +242,7 @@ import com.android.internal.telephony.SmsApplication;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.FunctionalUtils.ThrowingRunnable;
+import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.JournaledFile;
import com.android.internal.util.Preconditions;
import com.android.internal.util.StatLogger;
@@ -1667,111 +1668,115 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
info = deviceAdminInfo;
}
- void dump(String prefix, PrintWriter pw) {
- pw.print(prefix); pw.print("uid="); pw.println(getUid());
- pw.print(prefix); pw.print("testOnlyAdmin=");
+ void dump(IndentingPrintWriter pw) {
+ pw.print("uid="); pw.println(getUid());
+ pw.print("testOnlyAdmin=");
pw.println(testOnlyAdmin);
- pw.print(prefix); pw.println("policies:");
+ pw.println("policies:");
ArrayList<DeviceAdminInfo.PolicyInfo> pols = info.getUsedPolicies();
if (pols != null) {
+ pw.increaseIndent();
for (int i=0; i<pols.size(); i++) {
- pw.print(prefix); pw.print(" "); pw.println(pols.get(i).tag);
+ pw.println(pols.get(i).tag);
}
+ pw.decreaseIndent();
}
- pw.print(prefix); pw.print("passwordQuality=0x");
+ pw.print("passwordQuality=0x");
pw.println(Integer.toHexString(minimumPasswordMetrics.quality));
- pw.print(prefix); pw.print("minimumPasswordLength=");
+ pw.print("minimumPasswordLength=");
pw.println(minimumPasswordMetrics.length);
- pw.print(prefix); pw.print("passwordHistoryLength=");
+ pw.print("passwordHistoryLength=");
pw.println(passwordHistoryLength);
- pw.print(prefix); pw.print("minimumPasswordUpperCase=");
+ pw.print("minimumPasswordUpperCase=");
pw.println(minimumPasswordMetrics.upperCase);
- pw.print(prefix); pw.print("minimumPasswordLowerCase=");
+ pw.print("minimumPasswordLowerCase=");
pw.println(minimumPasswordMetrics.lowerCase);
- pw.print(prefix); pw.print("minimumPasswordLetters=");
+ pw.print("minimumPasswordLetters=");
pw.println(minimumPasswordMetrics.letters);
- pw.print(prefix); pw.print("minimumPasswordNumeric=");
+ pw.print("minimumPasswordNumeric=");
pw.println(minimumPasswordMetrics.numeric);
- pw.print(prefix); pw.print("minimumPasswordSymbols=");
+ pw.print("minimumPasswordSymbols=");
pw.println(minimumPasswordMetrics.symbols);
- pw.print(prefix); pw.print("minimumPasswordNonLetter=");
+ pw.print("minimumPasswordNonLetter=");
pw.println(minimumPasswordMetrics.nonLetter);
- pw.print(prefix); pw.print("maximumTimeToUnlock=");
+ pw.print("maximumTimeToUnlock=");
pw.println(maximumTimeToUnlock);
- pw.print(prefix); pw.print("strongAuthUnlockTimeout=");
+ pw.print("strongAuthUnlockTimeout=");
pw.println(strongAuthUnlockTimeout);
- pw.print(prefix); pw.print("maximumFailedPasswordsForWipe=");
+ pw.print("maximumFailedPasswordsForWipe=");
pw.println(maximumFailedPasswordsForWipe);
- pw.print(prefix); pw.print("specifiesGlobalProxy=");
+ pw.print("specifiesGlobalProxy=");
pw.println(specifiesGlobalProxy);
- pw.print(prefix); pw.print("passwordExpirationTimeout=");
+ pw.print("passwordExpirationTimeout=");
pw.println(passwordExpirationTimeout);
- pw.print(prefix); pw.print("passwordExpirationDate=");
+ pw.print("passwordExpirationDate=");
pw.println(passwordExpirationDate);
if (globalProxySpec != null) {
- pw.print(prefix); pw.print("globalProxySpec=");
+ pw.print("globalProxySpec=");
pw.println(globalProxySpec);
}
if (globalProxyExclusionList != null) {
- pw.print(prefix); pw.print("globalProxyEclusionList=");
+ pw.print("globalProxyEclusionList=");
pw.println(globalProxyExclusionList);
}
- pw.print(prefix); pw.print("encryptionRequested=");
+ pw.print("encryptionRequested=");
pw.println(encryptionRequested);
- pw.print(prefix); pw.print("disableCamera=");
+ pw.print("disableCamera=");
pw.println(disableCamera);
- pw.print(prefix); pw.print("disableCallerId=");
+ pw.print("disableCallerId=");
pw.println(disableCallerId);
- pw.print(prefix); pw.print("disableContactsSearch=");
+ pw.print("disableContactsSearch=");
pw.println(disableContactsSearch);
- pw.print(prefix); pw.print("disableBluetoothContactSharing=");
+ pw.print("disableBluetoothContactSharing=");
pw.println(disableBluetoothContactSharing);
- pw.print(prefix); pw.print("disableScreenCapture=");
+ pw.print("disableScreenCapture=");
pw.println(disableScreenCapture);
- pw.print(prefix); pw.print("requireAutoTime=");
+ pw.print("requireAutoTime=");
pw.println(requireAutoTime);
- pw.print(prefix); pw.print("forceEphemeralUsers=");
+ pw.print("forceEphemeralUsers=");
pw.println(forceEphemeralUsers);
- pw.print(prefix); pw.print("isNetworkLoggingEnabled=");
+ pw.print("isNetworkLoggingEnabled=");
pw.println(isNetworkLoggingEnabled);
- pw.print(prefix); pw.print("disabledKeyguardFeatures=");
+ pw.print("disabledKeyguardFeatures=");
pw.println(disabledKeyguardFeatures);
- pw.print(prefix); pw.print("crossProfileWidgetProviders=");
+ pw.print("crossProfileWidgetProviders=");
pw.println(crossProfileWidgetProviders);
if (permittedAccessiblityServices != null) {
- pw.print(prefix); pw.print("permittedAccessibilityServices=");
+ pw.print("permittedAccessibilityServices=");
pw.println(permittedAccessiblityServices);
}
if (permittedInputMethods != null) {
- pw.print(prefix); pw.print("permittedInputMethods=");
+ pw.print("permittedInputMethods=");
pw.println(permittedInputMethods);
}
if (permittedNotificationListeners != null) {
- pw.print(prefix); pw.print("permittedNotificationListeners=");
+ pw.print("permittedNotificationListeners=");
pw.println(permittedNotificationListeners);
}
if (keepUninstalledPackages != null) {
- pw.print(prefix); pw.print("keepUninstalledPackages=");
+ pw.print("keepUninstalledPackages=");
pw.println(keepUninstalledPackages);
}
- pw.print(prefix); pw.print("organizationColor=");
+ pw.print("organizationColor=");
pw.println(organizationColor);
if (organizationName != null) {
- pw.print(prefix); pw.print("organizationName=");
+ pw.print("organizationName=");
pw.println(organizationName);
}
- pw.print(prefix); pw.println("userRestrictions:");
- UserRestrictionsUtils.dumpRestrictions(pw, prefix + " ", userRestrictions);
- pw.print(prefix); pw.print("defaultEnabledRestrictionsAlreadySet=");
+ pw.println("userRestrictions:");
+ UserRestrictionsUtils.dumpRestrictions(pw, " ", userRestrictions);
+ pw.print("defaultEnabledRestrictionsAlreadySet=");
pw.println(defaultEnabledRestrictionsAlreadySet);
- pw.print(prefix); pw.print("isParent=");
+ pw.print("isParent=");
pw.println(isParent);
if (parentAdmin != null) {
- pw.print(prefix); pw.println("parentAdmin:");
- parentAdmin.dump(prefix + " ", pw);
+ pw.println("parentAdmin:");
+ pw.increaseIndent();
+ parentAdmin.dump(pw);
+ pw.decreaseIndent();
}
if (mCrossProfileCalendarPackages != null) {
- pw.print(prefix); pw.print("mCrossProfileCalendarPackages=");
+ pw.print("mCrossProfileCalendarPackages=");
pw.println(mCrossProfileCalendarPackages);
}
}
@@ -8843,46 +8848,62 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
}
}
+ private void dumpDevicePolicyData(IndentingPrintWriter pw) {
+ int userCount = mUserData.size();
+ for (int u = 0; u < userCount; u++) {
+ DevicePolicyData policy = getUserData(mUserData.keyAt(u));
+ pw.println();
+ pw.println("Enabled Device Admins (User " + policy.mUserHandle
+ + ", provisioningState: " + policy.mUserProvisioningState + "):");
+ final int n = policy.mAdminList.size();
+ for (int i = 0; i < n; i++) {
+ ActiveAdmin ap = policy.mAdminList.get(i);
+ if (ap != null) {
+ pw.increaseIndent();
+ pw.print(ap.info.getComponent().flattenToShortString());
+ pw.println(":");
+ pw.increaseIndent();
+ ap.dump(pw);
+ pw.decreaseIndent();
+ pw.decreaseIndent();
+ }
+ }
+ if (!policy.mRemovingAdmins.isEmpty()) {
+ pw.increaseIndent();
+ pw.println("Removing Device Admins (User " + policy.mUserHandle + "): "
+ + policy.mRemovingAdmins);
+ pw.decreaseIndent();
+ }
+ pw.println();
+ pw.increaseIndent();
+ pw.print("mPasswordOwner="); pw.println(policy.mPasswordOwner);
+ pw.decreaseIndent();
+ }
+ }
+
@Override
- protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, pw)) return;
+ protected void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) {
+ if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, printWriter)) return;
+ IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " ");
synchronized (getLockObject()) {
pw.println("Current Device Policy Manager state:");
+ pw.increaseIndent();
- mOwners.dump(" ", pw);
- mDeviceAdminServiceController.dump(" ", pw);
- int userCount = mUserData.size();
- for (int u = 0; u < userCount; u++) {
- DevicePolicyData policy = getUserData(mUserData.keyAt(u));
- pw.println();
- pw.println(" Enabled Device Admins (User " + policy.mUserHandle
- + ", provisioningState: " + policy.mUserProvisioningState + "):");
- final int N = policy.mAdminList.size();
- for (int i=0; i<N; i++) {
- ActiveAdmin ap = policy.mAdminList.get(i);
- if (ap != null) {
- pw.print(" "); pw.print(ap.info.getComponent().flattenToShortString());
- pw.println(":");
- ap.dump(" ", pw);
- }
- }
- if (!policy.mRemovingAdmins.isEmpty()) {
- pw.println(" Removing Device Admins (User " + policy.mUserHandle + "): "
- + policy.mRemovingAdmins);
- }
-
- pw.println(" ");
- pw.print(" mPasswordOwner="); pw.println(policy.mPasswordOwner);
- }
+ mOwners.dump(pw);
+ pw.println();
+ mDeviceAdminServiceController.dump(pw);
pw.println();
- mConstants.dump(" ", pw);
+ dumpDevicePolicyData(pw);
pw.println();
- mStatLogger.dump(pw, " ");
+ mConstants.dump(pw);
pw.println();
- pw.println(" Encryption Status: " + getEncryptionStatusName(getEncryptionStatus()));
+ mStatLogger.dump(pw);
+ pw.println();
+
+ pw.println("Encryption Status: " + getEncryptionStatusName(getEncryptionStatus()));
pw.println();
- mPolicyCache.dump(" ", pw);
+ mPolicyCache.dump(pw);
}
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
index 215e46f9aecb..65bf86feb88f 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
@@ -41,6 +41,7 @@ import android.util.Xml;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.IndentingPrintWriter;
import com.android.server.LocalServices;
import com.android.server.wm.ActivityTaskManagerInternal;
@@ -54,7 +55,6 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.util.List;
@@ -1032,27 +1032,29 @@ class Owners {
remoteBugreportHash, canAccessDeviceIds);
}
- public void dump(String prefix, PrintWriter pw) {
- pw.println(prefix + "admin=" + admin);
- pw.println(prefix + "name=" + name);
- pw.println(prefix + "package=" + packageName);
- pw.println(prefix + "canAccessDeviceIds=" + canAccessDeviceIds);
+ public void dump(IndentingPrintWriter pw) {
+ pw.println("admin=" + admin);
+ pw.println("name=" + name);
+ pw.println("package=" + packageName);
+ pw.println("canAccessDeviceIds=" + canAccessDeviceIds);
}
}
- public void dump(String prefix, PrintWriter pw) {
+ public void dump(IndentingPrintWriter pw) {
boolean needBlank = false;
if (mDeviceOwner != null) {
- pw.println(prefix + "Device Owner: ");
- mDeviceOwner.dump(prefix + " ", pw);
- pw.println(prefix + " User ID: " + mDeviceOwnerUserId);
+ pw.println("Device Owner: ");
+ pw.increaseIndent();
+ mDeviceOwner.dump(pw);
+ pw.println("User ID: " + mDeviceOwnerUserId);
+ pw.decreaseIndent();
needBlank = true;
}
if (mSystemUpdatePolicy != null) {
if (needBlank) {
pw.println();
}
- pw.println(prefix + "System Update Policy: " + mSystemUpdatePolicy);
+ pw.println("System Update Policy: " + mSystemUpdatePolicy);
needBlank = true;
}
if (mProfileOwners != null) {
@@ -1060,8 +1062,10 @@ class Owners {
if (needBlank) {
pw.println();
}
- pw.println(prefix + "Profile Owner (User " + entry.getKey() + "): ");
- entry.getValue().dump(prefix + " ", pw);
+ pw.println("Profile Owner (User " + entry.getKey() + "): ");
+ pw.increaseIndent();
+ entry.getValue().dump(pw);
+ pw.decreaseIndent();
needBlank = true;
}
}
@@ -1069,14 +1073,14 @@ class Owners {
if (needBlank) {
pw.println();
}
- pw.println(prefix + "Pending System Update: " + mSystemUpdateInfo);
+ pw.println("Pending System Update: " + mSystemUpdateInfo);
needBlank = true;
}
if (mSystemUpdateFreezeStart != null || mSystemUpdateFreezeEnd != null) {
if (needBlank) {
pw.println();
}
- pw.println(prefix + "System update freeze record: "
+ pw.println("System update freeze record: "
+ getSystemUpdateFreezePeriodRecordAsString());
needBlank = true;
}