diff options
| author | 2023-06-29 13:31:15 +0000 | |
|---|---|---|
| committer | 2023-06-30 13:10:28 +0000 | |
| commit | 8966a1337a6ce517d9ccf87bf69470c91f79e37b (patch) | |
| tree | 5bafe4b571010ab7b75fe36ca5a61b0cd31d28a1 | |
| parent | c7753c320f21e3adf8f72cd10b1645dab8cb89e7 (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.java | 8 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 2 |
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 |