From 01fdbc12faef14aa6c93c4d3030c8d98b2fe885b Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Mon, 29 Apr 2019 16:07:01 -0700 Subject: [PATCH] Fix NPE during dumpsys Test: atest CtsIncidentHostTestCases:com.android.server.cts.IncidentdTest Test: atest CtsIncidentHostTestCases:com.android.server.cts.PackageIncidentTest#testPackageServiceDump Bug: 126253679 Change-Id: Ie42fe9cad14fd8cd9b889b16b7de6d63aed1ddab --- services/core/java/com/android/server/pm/PackageSetting.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageSetting.java b/services/core/java/com/android/server/pm/PackageSetting.java index ead09b424d61d..e85989315417c 100644 --- a/services/core/java/com/android/server/pm/PackageSetting.java +++ b/services/core/java/com/android/server/pm/PackageSetting.java @@ -185,16 +185,18 @@ public final class PackageSetting extends PackageSettingBase { proto.write(PackageProto.NAME, (realName != null ? realName : name)); proto.write(PackageProto.UID, appId); proto.write(PackageProto.VERSION_CODE, versionCode); - proto.write(PackageProto.VERSION_STRING, pkg.mVersionName); proto.write(PackageProto.INSTALL_TIME_MS, firstInstallTime); proto.write(PackageProto.UPDATE_TIME_MS, lastUpdateTime); proto.write(PackageProto.INSTALLER_NAME, installerPackageName); if (pkg != null) { + proto.write(PackageProto.VERSION_STRING, pkg.mVersionName); + long splitToken = proto.start(PackageProto.SPLITS); proto.write(PackageProto.SplitProto.NAME, "base"); proto.write(PackageProto.SplitProto.REVISION_CODE, pkg.baseRevisionCode); proto.end(splitToken); + if (pkg.splitNames != null) { for (int i = 0; i < pkg.splitNames.length; i++) { splitToken = proto.start(PackageProto.SPLITS);