From eec2d1237d9cedb29bd58ea8eb57c08160bff972 Mon Sep 17 00:00:00 2001 From: Wu Ahan Date: Wed, 10 Nov 2021 06:49:03 +0000 Subject: [PATCH] Add null check before notifying CUJ events There is a potential NPE since we didn't have null check before sending broadcast, so add null cehck. Bug: 205211901 Test: Manually Change-Id: Icc60d2c87941373943ec627f669598dca684c09d --- .../android/internal/jank/InteractionJankMonitor.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/jank/InteractionJankMonitor.java b/core/java/com/android/internal/jank/InteractionJankMonitor.java index 0ba5a398bb675..ea38db304e6d7 100644 --- a/core/java/com/android/internal/jank/InteractionJankMonitor.java +++ b/core/java/com/android/internal/jank/InteractionJankMonitor.java @@ -377,7 +377,13 @@ public class InteractionJankMonitor { // Notify the receivers if necessary. if (session.shouldNotify()) { - notifyEvents(context, action, session); + if (context != null) { + notifyEvents(context, action, session); + } else { + throw new IllegalArgumentException( + "Can't notify cuj events due to lack of context: cuj=" + + session.getName() + ", action=" + action); + } } } @@ -739,7 +745,8 @@ public class InteractionJankMonitor { * @return builder */ public static Builder withView(@CujType int cuj, @NonNull View view) { - return new Builder(cuj).setView(view); + return new Builder(cuj).setView(view) + .setContext(view.getContext()); } private Builder(@CujType int cuj) {