diff options
| author | Rubin Xu <rubinxu@google.com> | 2019-05-01 11:43:35 +0100 |
|---|---|---|
| committer | Rubin Xu <rubinxu@google.com> | 2019-07-29 12:00:01 +0100 |
| commit | fd0f321b6eca80f4e4ec517789d021ba801a495f (patch) | |
| tree | 22ee8582ef37fd0e88431261c337dbfd1d1dec93 | |
| parent | b93dc48c85e7701cd4411c532e56b506ac14b46c (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
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; } |
