diff options
| author | 2021-11-19 20:28:17 +0800 | |
|---|---|---|
| committer | 2021-11-22 23:25:02 +0800 | |
| commit | f649375c439402f92372a4e42bc8a2226e11f8ea (patch) | |
| tree | c2ca59300774777125d3be90b194d960cc6db332 /libs/input/PointerController.cpp | |
| parent | 07d5ae6a67875ac66c3f39c0d27c2ca82018bd02 (diff) | |
Reduce unnecessary collecting for wallpaper with shell transition
The adjustWallpaperWindows is a heavy operation (including assigning
layer), and it has no direct relation with ensure visibility of task.
Especially if there are several tasks, it may increase overhead with
dozens milliseconds in a transition. The original problem should be
fixed by collecting wallpaper token instead of window state.
(Because Transition only recognizes wallpaper by token)
Also
- Reduce re-assigning layer if visibility is not changed.
- Collect wallpaper token only when the requested visibility is
different, that reduces lots of checking transition participants.
- Update wallpaper visibility before playing transition, which is
similar to legacy adjustWallpaperWindowsForAppTransitionIfNeeded.
Bug: 206487939
Bug: 187461719
Test: WallpaperControllerTests#testWallpaperTokenVisibility
Test: adb shell setprop persist.debug.shell_transit 1; reboot
Check 3 cases:
1. Rotate display -> latency reduced.
2. Launch app in different orientation from home
-> wallpaper is not rotated.
3. Launch an opaque app from home and it launches a
non-opaque app immediately -> wallpaper should not flash.
Change-Id: I1819f6aad23eb103f97c9d33bc2ad68db0e6c4ed
Diffstat (limited to 'libs/input/PointerController.cpp')
0 files changed, 0 insertions, 0 deletions