From ccf95f2467eab925c2e335af8b4c091b12f82a09 Mon Sep 17 00:00:00 2001 From: Tiger Date: Mon, 6 Feb 2023 18:46:40 +0800 Subject: [PATCH] Prevent NullPointerException and remove unsed variable Bug: 234093736 Test: presubmit Change-Id: Id4298f3af970cba0608960bcac21c141bb2d99aa --- .../src/android/view/SurfaceControlViewHostInsetsTest.java | 1 - services/core/java/com/android/server/wm/InsetsPolicy.java | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java b/core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java index 4a00b00fbafe5..a65830fe1d777 100644 --- a/core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java +++ b/core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java @@ -69,7 +69,6 @@ public class SurfaceControlViewHostInsetsTest { private InsetsState statusBarState(boolean visible) { final InsetsState insetsState = new InsetsState(); - final int id = InsetsSource.createId(null /* owner */, 0 /* index */, statusBars()); insetsState.setDisplayFrame(new Rect(0, 0, 1000, 1000)); insetsState.getOrCreateSource( InsetsSource.createId(null /* owner */, 0 /* index */, statusBars()), statusBars()) diff --git a/services/core/java/com/android/server/wm/InsetsPolicy.java b/services/core/java/com/android/server/wm/InsetsPolicy.java index f5d29ed54921f..cce4d72f68ff5 100644 --- a/services/core/java/com/android/server/wm/InsetsPolicy.java +++ b/services/core/java/com/android/server/wm/InsetsPolicy.java @@ -635,6 +635,12 @@ class InsetsPolicy { final SparseArray controlsReady = new SparseArray<>(); final InsetsSourceControl[] controls = mStateController.getControlsForDispatch(mDummyControlTarget); + if (controls == null) { + if (callback != null) { + DisplayThread.getHandler().post(callback); + } + return; + } for (InsetsSourceControl control : controls) { if (isTransient(control.getType()) && control.getLeash() != null) { typesReady |= control.getType();