diff options
-rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 5d42d18a97ac..50ee9b9c808f 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -942,14 +942,17 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(mSession) .setOpaque(true) .setContainerLayer(); - mWindowingLayer = b.setName("Display Root").build(); - mOverlayLayer = b.setName("Display Overlays").build(); - - getPendingTransaction().setLayer(mWindowingLayer, 0) - .setLayerStack(mWindowingLayer, mDisplayId) + mSurfaceControl = b.setName("Root").setContainerLayer().build(); + mWindowingLayer = b.setName("Display Windows").setParent(mSurfaceControl).build(); + mOverlayLayer = b.setName("Display Overlays").setParent(mSurfaceControl).build(); + + getPendingTransaction() + .setLayer(mSurfaceControl, 0) + .setLayerStack(mSurfaceControl, mDisplayId) + .show(mSurfaceControl) + .setLayer(mWindowingLayer, 0) .show(mWindowingLayer) .setLayer(mOverlayLayer, 1) - .setLayerStack(mOverlayLayer, mDisplayId) .show(mOverlayLayer); getPendingTransaction().apply(); @@ -4880,7 +4883,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo mPortalWindowHandle = createPortalWindowHandle(sc.toString()); } getPendingTransaction().setInputWindowInfo(sc, mPortalWindowHandle) - .reparent(mWindowingLayer, sc).reparent(mOverlayLayer, sc); + .reparent(mSurfaceControl, sc); } /** |