summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/tests/coretests/src/android/view/SurfaceControlViewHostInsetsTest.java1
-rw-r--r--services/core/java/com/android/server/wm/InsetsPolicy.java6
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();