diff options
author | Dianne Hackborn <hackbod@google.com> | 2013-06-11 14:26:53 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2013-06-11 14:26:53 -0700 |
commit | cbfd23ee6f14445c3e17c5169abbc80c216fa137 (patch) | |
tree | 9e5063fe418c4df345b371a0678faa4a1fcb0c48 /services/java/com/android/server/pm/KeySetManager.java | |
parent | be4e6aaa0252dd7da28b7aa85beba982538efa46 (diff) |
Add new API to retrieve a dumpsys of a single package.
Adds a platform API, and pm command. Fixes some issues with
dumping per-package data in package manager, makes battery
stats able to dump per-package state.
Change-Id: I76ee6d059f0ba17f7a7061886792b1b716d46d2d
Diffstat (limited to 'services/java/com/android/server/pm/KeySetManager.java')
-rw-r--r-- | services/java/com/android/server/pm/KeySetManager.java | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/services/java/com/android/server/pm/KeySetManager.java b/services/java/com/android/server/pm/KeySetManager.java index f154ab3a0d88..8272c1579768 100644 --- a/services/java/com/android/server/pm/KeySetManager.java +++ b/services/java/com/android/server/pm/KeySetManager.java @@ -399,24 +399,50 @@ public class KeySetManager { return new String(Base64.encode(k.getEncoded(), 0)); } - public void dump(PrintWriter pw) { + public void dump(PrintWriter pw, String packageName, + PackageManagerService.DumpState dumpState) { synchronized (mLockObject) { - pw.println(" Dumping KeySetManager"); + boolean printedHeader = false; for (Map.Entry<String, PackageSetting> e : mPackages.entrySet()) { - String packageName = e.getKey(); + String keySetPackage = e.getKey(); + if (packageName != null && !packageName.equals(keySetPackage)) { + continue; + } + if (!printedHeader) { + if (dumpState.onTitlePrinted()) + pw.println(); + pw.println("Key Set Manager:"); + printedHeader = true; + } PackageSetting pkg = e.getValue(); - pw.print(" ["); pw.print(packageName); pw.println("]"); + pw.print(" ["); pw.print(keySetPackage); pw.println("]"); if (pkg.keySetData != null) { - pw.print(" Defined KeySets:"); + boolean printedLabel = false; for (long keySetId : pkg.keySetData.getDefinedKeySets()) { - pw.print(" "); pw.print(Long.toString(keySetId)); + if (!printedLabel) { + pw.print(" Defined KeySets: "); + printedLabel = true; + } else { + pw.print(", "); + } + pw.print(Long.toString(keySetId)); + } + if (printedLabel) { + pw.println(""); } - pw.println(""); - pw.print(" Signing KeySets:"); + printedLabel = false; for (long keySetId : pkg.keySetData.getSigningKeySets()) { + if (!printedLabel) { + pw.print(" Signing KeySets:"); + printedLabel = true; + } else { + pw.print(", "); + } pw.print(" "); pw.print(Long.toString(keySetId)); } - pw.println(""); + if (printedLabel) { + pw.println(""); + } } } } |