diff options
author | 2025-03-11 16:59:49 -0700 | |
---|---|---|
committer | 2025-03-11 16:59:49 -0700 | |
commit | 1323ed897ae6fec3300e70c31b192c3f545d9513 (patch) | |
tree | e189ce2219de0b9f442bf3d48b06edc990e79861 | |
parent | 926b257a85f7a1136abea9edc03bd6b9609a038b (diff) | |
parent | b610010fd5ba143e4dad687eed357210925b345d (diff) |
Merge "Do not load DecorView info if a task is closing" into main
3 files changed, 15 insertions, 1 deletions
diff --git a/core/java/android/window/DesktopModeFlags.java b/core/java/android/window/DesktopModeFlags.java index aecf6eb261b1..5b3044e1988a 100644 --- a/core/java/android/window/DesktopModeFlags.java +++ b/core/java/android/window/DesktopModeFlags.java @@ -146,6 +146,8 @@ public enum DesktopModeFlags { Flags::includeTopTransparentFullscreenTaskInDesktopHeuristic, true), INHERIT_TASK_BOUNDS_FOR_TRAMPOLINE_TASK_LAUNCHES( Flags::inheritTaskBoundsForTrampolineTaskLaunches, false), + SKIP_DECOR_VIEW_RELAYOUT_WHEN_CLOSING_BUGFIX( + Flags::skipDecorViewRelayoutWhenClosingBugfix, false), // go/keep-sorted end ; diff --git a/core/java/android/window/flags/lse_desktop_experience.aconfig b/core/java/android/window/flags/lse_desktop_experience.aconfig index c193e33301bd..afc9660c1a3a 100644 --- a/core/java/android/window/flags/lse_desktop_experience.aconfig +++ b/core/java/android/window/flags/lse_desktop_experience.aconfig @@ -933,6 +933,16 @@ flag { } flag { + name: "skip_decor_view_relayout_when_closing_bugfix" + namespace: "lse_desktop_experience" + description: "Enables bugfix to skip DecorView relayout when the corresponding window is closing." + bug: "394502142" + metadata { + purpose: PURPOSE_BUGFIX + } +} + +flag { name: "enable_size_compat_mode_improvements_for_connected_displays" namespace: "lse_desktop_experience" description: "Enable some improvements in size compat mode for connected displays." diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java index 003baae29114..bcf9396ff0c1 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java @@ -553,7 +553,9 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin return; } - if (oldRootView != mResult.mRootView) { + if (DesktopModeFlags.SKIP_DECOR_VIEW_RELAYOUT_WHEN_CLOSING_BUGFIX.isTrue() + ? (oldRootView != mResult.mRootView && taskInfo.isVisibleRequested) + : oldRootView != mResult.mRootView) { disposeStatusBarInputLayer(); mWindowDecorViewHolder = createViewHolder(); // Load these only when first creating the view. |