From 764c7a97294f076a1d720a788813b15e45a9f764 Mon Sep 17 00:00:00 2001 From: Pascal Mütschard Date: Thu, 15 Aug 2024 15:37:47 +0200 Subject: Fix issue in IJM where view becomes invalid. Sometimes, by the the time we start the jank tracker, the view, which was validated at CUJ begin by the configuration, becomes invalid, which would cause an NPE later on. If the view is invalid at frame tracker start, abort the CUJ. Bug: b/320527356 Test: manual Flag: EXEMPT bug fix Change-Id: I8959263a9c344b773912b96d77108a2e56139db6 --- core/java/com/android/internal/jank/InteractionJankMonitor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/java/com/android/internal/jank/InteractionJankMonitor.java b/core/java/com/android/internal/jank/InteractionJankMonitor.java index 33610a09b7c8..c7e1fba66d7f 100644 --- a/core/java/com/android/internal/jank/InteractionJankMonitor.java +++ b/core/java/com/android/internal/jank/InteractionJankMonitor.java @@ -396,6 +396,9 @@ public class InteractionJankMonitor { int cujType = conf.mCujType; if (!shouldMonitor()) { return false; + } else if (!conf.hasValidView()) { + Log.w(TAG, "The view has since become invalid, aborting the CUJ."); + return false; } RunningTracker tracker = putTrackerIfNoCurrent(cujType, () -> -- cgit v1.2.3-59-g8ed1b