From 99b98845edb9983c5312a97a4f0338f6186d589e Mon Sep 17 00:00:00 2001 From: Charles Chen Date: Tue, 11 Dec 2018 20:30:28 +0800 Subject: [PATCH] Fix NPE when calling updateStateLw In multi-display environment, the existance of status bar and navigation bar may differ per disply. In other words, we may not have status bar or navigation bar on a external displays. Add null check to prevent this NPE happens. Test: WmTests Fixes: 120779126 Change-Id: I805a061733cdbe09c5c1941a0f44e2e49964671a --- services/core/java/com/android/server/wm/BarController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/BarController.java b/services/core/java/com/android/server/wm/BarController.java index a335fa26dfcf8..5b20af3534c45 100644 --- a/services/core/java/com/android/server/wm/BarController.java +++ b/services/core/java/com/android/server/wm/BarController.java @@ -219,7 +219,7 @@ public class BarController { } private boolean updateStateLw(final int state) { - if (state != mState) { + if (mWin != null && state != mState) { mState = state; if (DEBUG) Slog.d(mTag, "mState: " + StatusBarManager.windowStateToString(state)); mHandler.post(new Runnable() {