Merge "Set client invisible immediately for trampoline with window" into udc-dev am: 0a5094e8e2

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22649681

Change-Id: I1dcf3fd28bb5d88c087b00d479ae125829e332db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Riddle Hsu
2023-04-17 09:39:11 +00:00
committed by Automerger Merge Worker

View File

@@ -5315,6 +5315,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
if (finishing || isState(STOPPED)) {
displayContent.mUnknownAppVisibilityController.appRemovedOrHidden(this);
}
// Because starting window was transferred, this activity may be a trampoline which has
// been occluded by next activity. If it has added windows, set client visibility
// immediately to avoid the client getting RELAYOUT_RES_FIRST_TIME from relayout and
// drawing an unnecessary frame.
if (startingMoved && !firstWindowDrawn && hasChild()) {
setClientVisible(false);
}
} else {
if (!appTransition.isTransitionSet()
&& appTransition.isReady()) {