summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Marzia Favaro <marziana@google.com> 2023-06-29 13:31:15 +0000
committer Marzia Favaro <marziana@google.com> 2023-06-30 13:10:28 +0000
commit8966a1337a6ce517d9ccf87bf69470c91f79e37b (patch)
tree5bafe4b571010ab7b75fe36ca5a61b0cd31d28a1
parentc7753c320f21e3adf8f72cd10b1645dab8cb89e7 (diff)
Add wallpaper to sync set during collection
Prevent wallpaper flickers caused by early changes in visibility caused by operations not controlled by the transition Fix: 283465374 Test: Manual, unlock device with fingerprint multiple times Change-Id: I1e1f26db1889d7e9feb9a17b4be5fbcf5f3b0419
-rw-r--r--services/core/java/com/android/server/wm/Transition.java8
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java2
2 files changed, 3 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java
index 79a54c3cfb32..32711f0b9f55 100644
--- a/services/core/java/com/android/server/wm/Transition.java
+++ b/services/core/java/com/android/server/wm/Transition.java
@@ -613,12 +613,8 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
}
}
if (mParticipants.contains(wc)) return;
- // Wallpaper is like in a static drawn state unless display may have changes, so exclude
- // the case to reduce transition latency waiting for the unchanged wallpaper to redraw.
- final boolean needSync = (!isWallpaper(wc) || mParticipants.contains(wc.mDisplayContent))
- // Transient-hide may be hidden later, so no need to request redraw.
- && !isInTransientHide(wc);
- if (needSync) {
+ // Transient-hide may be hidden later, so no need to request redraw.
+ if (!isInTransientHide(wc)) {
mSyncEngine.addToSyncSet(mSyncId, wc);
}
ChangeInfo info = mChanges.get(wc);
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index cf1e51fb4e94..0d4c2d631b2c 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -5665,7 +5665,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
}
if (mIsWallpaper) {
// TODO(b/233286785): Add sync support to wallpaper.
- return false;
+ return true;
}
// In the WindowContainer implementation we immediately mark ready
// since a generic WindowContainer only needs to wait for its