summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yunfan Chen <yunfanc@google.com> 2025-03-11 16:59:49 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-11 16:59:49 -0700
commit1323ed897ae6fec3300e70c31b192c3f545d9513 (patch)
treee189ce2219de0b9f442bf3d48b06edc990e79861
parent926b257a85f7a1136abea9edc03bd6b9609a038b (diff)
parentb610010fd5ba143e4dad687eed357210925b345d (diff)
Merge "Do not load DecorView info if a task is closing" into main
-rw-r--r--core/java/android/window/DesktopModeFlags.java2
-rw-r--r--core/java/android/window/flags/lse_desktop_experience.aconfig10
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java4
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.