From c4d05fc0db6c41e9d70309aa78219aa202c7cb59 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 1 Dec 2014 16:24:01 -0800 Subject: Include splits in dumpsys package output. Describe the currently installed splits, both in normal dumpsys output and in checkin output. Also include revisionCode of those splits when defined (non-zero). Bug: 18576300 Change-Id: Ie8140961fb7b9e0ed23fd6bc267157aab075dd78 --- .../core/java/com/android/server/pm/Settings.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index 4fd9fa790778..524f6389a6cc 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -3324,6 +3324,18 @@ final class Settings { pw.print(","); pw.print(ps.installerPackageName != null ? ps.installerPackageName : "?"); pw.println(); + if (ps.pkg != null) { + pw.print(checkinTag); pw.print("-"); pw.print("splt,"); + pw.print("base,"); + pw.println(ps.pkg.baseRevisionCode); + if (ps.pkg.splitNames != null) { + for (int i = 0; i < ps.pkg.splitNames.length; i++) { + pw.print(checkinTag); pw.print("-"); pw.print("splt,"); + pw.print(ps.pkg.splitNames[i]); pw.print(","); + pw.println(ps.pkg.splitRevisionCodes[i]); + } + } + } for (UserInfo user : users) { pw.print(checkinTag); pw.print("-"); @@ -3374,6 +3386,7 @@ final class Settings { pw.println(); if (ps.pkg != null) { pw.print(prefix); pw.print(" versionName="); pw.println(ps.pkg.mVersionName); + pw.print(prefix); pw.print(" splits="); dumpSplitNames(pw, ps.pkg); pw.println(); pw.print(prefix); pw.print(" applicationInfo="); pw.println(ps.pkg.applicationInfo.toString()); pw.print(prefix); pw.print(" flags="); printFlags(pw, ps.pkg.applicationInfo.flags, @@ -3646,4 +3659,27 @@ final class Settings { pw.println("Settings parse messages:"); pw.print(mReadMessages.toString()); } + + private static void dumpSplitNames(PrintWriter pw, PackageParser.Package pkg) { + if (pkg == null) { + pw.print("unknown"); + } else { + // [base:10, config.mdpi, config.xhdpi:12] + pw.print("["); + pw.print("base"); + if (pkg.baseRevisionCode != 0) { + pw.print(":"); pw.print(pkg.baseRevisionCode); + } + if (pkg.splitNames != null) { + for (int i = 0; i < pkg.splitNames.length; i++) { + pw.print(", "); + pw.print(pkg.splitNames[i]); + if (pkg.splitRevisionCodes[i] != 0) { + pw.print(":"); pw.print(pkg.splitRevisionCodes[i]); + } + } + } + pw.print("]"); + } + } } -- cgit v1.2.3-59-g8ed1b