summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-03 11:36:27 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-12-03 11:36:27 +0000
commit729d0609e73294d60027f913252a7726e35c5846 (patch)
treee9a93725362e4d75e4be94ae55bedca60ef4e35f
parent675467c896303f10ae79ef71fb2004fac42e8635 (diff)
parent55b1b0dbe7fe8ffd80df6ea19428ad497426d2be (diff)
Merge "Fix the wallpaper not hiding immediately" into main am: 55b1b0dbe7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3385960 Change-Id: I9c89d3d1e75d10caf78a6b9a1c4324bd4ba9ae81 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/wm/Transition.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java
index d042b3859c3e..dd5f6134e2eb 100644
--- a/services/core/java/com/android/server/wm/Transition.java
+++ b/services/core/java/com/android/server/wm/Transition.java
@@ -1385,7 +1385,16 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
// Commit wallpaper visibility after activity, because usually the wallpaper target token is
// an activity, and wallpaper's visibility depends on activity's visibility.
for (int i = mParticipants.size() - 1; i >= 0; --i) {
- final WallpaperWindowToken wt = mParticipants.valueAt(i).asWallpaperToken();
+ final WindowContainer<?> wc = mParticipants.valueAt(i);
+ WallpaperWindowToken wt = wc.asWallpaperToken();
+ if (!Flags.ensureWallpaperInTransitions()) {
+ if (wt == null) {
+ final WindowState windowState = wc.asWindowState();
+ if (windowState != null) {
+ wt = windowState.mToken.asWallpaperToken();
+ }
+ }
+ }
if (wt == null) continue;
final WindowState target = wt.mDisplayContent.mWallpaperController.getWallpaperTarget();
final boolean isTargetInvisible = target == null || !target.mToken.isVisible();