From f70dccdb539991bf99214adc7f93ca8f825863a8 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Tue, 4 Jul 2023 15:42:52 +0000 Subject: [PATCH] Revert "Avoid changing z-order of overlay layer after resizing display" This reverts commit 4552d3e896c884a43a836a55b1329fe304ff5ca7. Reason for revert: b/288726181 The effect of SurfaceControl.Builder#setParent(null); and SurfaceControl.Transaction#reparent(sc, null); are different. The former is to put at root layer, but the latter is like to detach the layer. So the flickering was disappeared by not showing the layer. That is unexpected. Currently there seems to be no way to assign root layer by transaction. Change-Id: I5b903d5dc7c30b644365b4b28048e74453e45922 --- .../core/java/com/android/server/wm/Transition.java | 2 +- .../core/java/com/android/server/wm/WindowToken.java | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 79839ef98d562..79a54c3cfb32d 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -2262,7 +2262,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // transitions anyways). return wc.getParent().asDisplayContent().getWindowingLayer(); } - return wc.getParentSurfaceControl(); + return wc.getParent().getSurfaceControl(); } /** diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java index 9806be85467b5..31afcbf262203 100644 --- a/services/core/java/com/android/server/wm/WindowToken.java +++ b/services/core/java/com/android/server/wm/WindowToken.java @@ -388,23 +388,12 @@ class WindowToken extends WindowContainer { @Override SurfaceControl.Builder makeSurface() { final SurfaceControl.Builder builder = super.makeSurface(); - // The overlay may use COLOR_MODE_A8 that needs to be at the top of the display to avoid - // additional memory usage, see b/235601833. Note that getParentSurfaceControl() must use - // the same parent. if (mRoundedCornerOverlay) { builder.setParent(null); } return builder; } - @Override - public SurfaceControl getParentSurfaceControl() { - if (mRoundedCornerOverlay) { - return null; - } - return super.getParentSurfaceControl(); - } - boolean isClientVisible() { return mClientVisible; }