diff options
| author | 2025-03-19 00:52:14 +0000 | |
|---|---|---|
| committer | 2025-03-19 00:52:14 +0000 | |
| commit | d43504bbac1b5647cb5f0edc1e3f2bec51452186 (patch) | |
| tree | 13530d7404e2149c2af51d5a92335469f90b0ab3 /libs/androidfw/FileStream.cpp | |
| parent | 39f6dcefc19c9fb0557f53570db3228c9c1ba90a (diff) | |
Fix broken shade expansion on lockscreen after unfold
This fix is similar to Id25536661ac876863c33e2b149b1ee82aa3b929a. Most of this commit message will match the one of that cl.
When ShadeWindowGoesAround flag is on, the shade window uses a separate context (windowContext), that is always associated with the display the shade is at.
When the configuration changes as result of fold/unfold, first the global configuration (associated with the default display) changes, and only afterwards resources used by the shade context change as well.
So here there was a race between:
- SystemUiApplication: it was receving the config change for the default display, and propagating it to its configurationController that was used in LockscreenShadeTransitionController
- WindowContext: The window context resources were updated soon after the global config, but later than SystemUiApplication was receiving the callback for the global config.
-> this resulted in LockscreenShadeTransitionController updating their resources and dimensions too early, before the resourceImpl was actually updated with dimensions for the unfolded screen.
This should have captured by a linter we submitted already (ShadeDisplayAwareDetector). More investigations are needed to understand how we missed it.
Bug: 362719719
Bug: 391929792
Bug: 400982004
Test: Manual unfold with flag on - More e2e tests are in progress for this. Also note it will not be possible to have this kind of issues in the future as they're supposed to cause an error with ShadeDisplayAwareDetector linter (that is now broken)
Flag: com.android.systemui.shade_window_goes_around
Change-Id: I9cb1f6323baeec6424455f7b11fd87deacdc757c
Diffstat (limited to 'libs/androidfw/FileStream.cpp')
0 files changed, 0 insertions, 0 deletions