diff options
| -rw-r--r-- | core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/InsetsPolicy.java | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java b/core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java index 4a00b00fbafe..a65830fe1d77 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 97dd2915c0f4..5c5eadc05c14 100644 --- a/services/core/java/com/android/server/wm/InsetsPolicy.java +++ b/services/core/java/com/android/server/wm/InsetsPolicy.java @@ -634,6 +634,12 @@ class InsetsPolicy { final SparseArray<InsetsSourceControl> 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(); |