From 6b3d3b38ba74daae02b563b1d6e4a65ee8029887 Mon Sep 17 00:00:00 2001 From: Alex Light Date: Mon, 22 Mar 2021 17:43:17 -0700 Subject: [PATCH] Don't try to report non-existent stats During OTAPreopt we don't have compilation stats due to the way we compile things. Don't attempt to report stats in this case since it will cause an NPE. Test: manual OTA on a blueline Bug: 181182967 Bug: 177694884 Change-Id: Ie2eb4d7e2ab562d4436a605bcbdd2ea17517dfc3 Merged-In: Ie2eb4d7e2ab562d4436a605bcbdd2ea17517dfc3 --- .../core/java/com/android/server/pm/PackageDexOptimizer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 5d8b75d2af4ee..6ad43ce6c6ae5 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -51,8 +51,8 @@ import android.os.FileUtils; import android.os.PowerManager; import android.os.SystemClock; import android.os.SystemProperties; -import android.os.UserHandle; import android.os.Trace; +import android.os.UserHandle; import android.os.WorkSource; import android.os.storage.StorageManager; import android.util.Log; @@ -260,7 +260,8 @@ public class PackageDexOptimizer { // Only report metrics for base apk for now. // TODO: add ISA and APK type to metrics. - if (pkg.getBaseCodePath().equals(path)) { + // OTAPreopt doesn't have stats so don't report in that case. + if (pkg.getBaseCodePath().equals(path) && packageStats != null) { Trace.traceBegin(Trace.TRACE_TAG_PACKAGE_MANAGER, "dex2oat-metrics"); try { long sessionId = Math.randomLongInternal();