diff options
| author | 2024-01-26 22:43:29 -0600 | |
|---|---|---|
| committer | 2024-01-29 07:12:34 +0000 | |
| commit | cac4879ca6932baf51451c5e59b87d60393cb702 (patch) | |
| tree | f258fa6f460749742c3eadc2e1f988656a46b9ba /libs/androidfw/FileStream.cpp | |
| parent | 2376ab521298a42be888c577cfd8afe61fa82928 (diff) | |
Fix flickering of screen resolution change with deferred updater
Before this change, the execution order from
DeferredDisplayUpdater#requestDisplayChangeTransition is:
1. startCollectOrQueue
2. onStartCollect.run()
3. reconfigureDisplayLocked
4. requestChangeTransitionIfNeeded(collect display)
5. setDisplaySyncMethod
WindowState#prepareSync with check the sync method in step 4,
so it still uses non-blast sync, which causes the display cutout
to not sync with display resize.
This change reorders 4 and 5, so the behavior will be the same
as ImmediateDisplayUpdater, i.e. the previous original behavior.
Also removed setAllReady to let setReady() be called for individual
display from WindowOrganizerController#startTransition ->
applyDisplayChangeIfNeeded. That avoids potential too-early-ready.
This is also to restore to previous original behavior.
Bug: 318679910
Test: DisplayContentDeferredUpdateTests
Test: Toggle screen resolution rapidly without flickering cutout.
Change-Id: I68385ec62c72e0b3afbefd808cc95cd6995ea542
Diffstat (limited to 'libs/androidfw/FileStream.cpp')
0 files changed, 0 insertions, 0 deletions