diff options
author | Lais Andrade <lsandrade@google.com> | 2020-04-21 18:58:15 +0000 |
---|---|---|
committer | Lais Andrade <lsandrade@google.com> | 2020-04-21 19:12:06 +0000 |
commit | 57283fb6bd6765661e3b6cc046fd289bfb558c80 (patch) | |
tree | 200252ef27864727c1e54c4903a9a8ed2d34e93f /rs/java/android/renderscript/ProgramStore.java | |
parent | e66ac51ea3d0e5915e8d358030fe61924d62c6f1 (diff) |
Wait for windows to be drawn before ending boot animation
The WindowManagerService relies on
DisplayContent#shouldWaitForSystemDecorWindowsOnBoot to decide when to
stop the boot animation. This is using WindowState#isDrawnLw, which
retuns true even if the window animation drawn state is still
READY_TO_SHOW, which causes the animation to finish before the windows
have actually drawn its content.
Adding an extra contion of the WindowState#hasDrawn fixes the bug by
forcing the boot animation to wait for the actual drawning.
The black screen blinking after boot was probably introduced after
ag/5312659 fixed a boot timeout that happened because #isVisibleLw was
also being called as a wait condition. Fixing the timeout surfaced the
fact that isDrawnLw is not enough condition to wait for the windows to
be drawn.
Fix: 149050316
Test: atest DisplayContentTests and also manually restarting device
Change-Id: I4a24e61d61a10d898d37022549d6aa531c251df3
Diffstat (limited to 'rs/java/android/renderscript/ProgramStore.java')
0 files changed, 0 insertions, 0 deletions