From ac42fd0bf971428be013c3393dc0527a188559e4 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Fri, 16 Jul 2021 20:56:23 -0700 Subject: [PATCH] Add null check to work around async unregistration of receiver Bug: 193890703 Test: atest SystemUITests Change-Id: I47272513482c2ed31167574d2f2cab6094cfd590 --- .../com/android/systemui/navigationbar/NavigationBar.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java index e762839c96ed6..94383e791ff38 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java @@ -1642,10 +1642,8 @@ public class NavigationBar implements View.OnAttachStateChangeListener, private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - // This receiver is unregistered when the view is detached, but on devices with multiple - // displays, it can sometimes still receive an ACTION_SCREEN_ON/ACTION_SCREEN_OFF on - // display switch, after it was detached, so this null check ensures no crash in that - // scenario. + // TODO(193941146): Currently unregistering a receiver through BroadcastDispatcher is + // async, but we've already cleared the fields. Just return early in this case. if (mNavigationBarView == null) { return; }