summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/pm/KeySetManager.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2013-06-11 14:26:53 -0700
committerDianne Hackborn <hackbod@google.com>2013-06-11 14:26:53 -0700
commitcbfd23ee6f14445c3e17c5169abbc80c216fa137 (patch)
tree9e5063fe418c4df345b371a0678faa4a1fcb0c48 /services/java/com/android/server/pm/KeySetManager.java
parentbe4e6aaa0252dd7da28b7aa85beba982538efa46 (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.java44
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("");
+ }
}
}
}