diff options
| author | 2023-02-18 00:48:15 +0800 | |
|---|---|---|
| committer | 2023-02-18 20:04:42 +0800 | |
| commit | 745db83b5e1231c069295a59b8889a6c38983ecf (patch) | |
| tree | 6f91dc40da99d845621df8b882a1a9c8df6d1d57 /libs/androidfw/FileStream.cpp | |
| parent | 7137d9165d25c7ddec6fe92e9d83a83ceceeafb0 (diff) | |
Handle animating exit windows with shell transition
WindowState#isWinVisibleLw can only detect legacy transition.
So when using shell transition, if an activity relayout to
invisible before the transition is finished, its surface will
be destroyed when animating, which looks bad.
Since there were too may visibility methods, and isWinVisibleLw
can be covered by isVisible()+isDisplayed() which is able to
consider legacy and shell transition. So just delete it.
Other usages of isWinVisibleLw:
- shouldKeepVisibleDeadAppWindow: unused dead code
- imeWindow: non-activity window so it equals to isVisible().
Besides, make shell transition have the same behavior as legacy
transition to call onExitAnimationDone when the animation is
finished to destroy the surfaces.
Also simplify tryStartExitingAnimation:
- Remove returned focusMayChange because it should be already
done by visibility change.
- Remove condition for wallpaper target because it was added
for lockscreen (commit 6136b7e) 10 years ago, but notification
shade (now it is lockscreen) was excluded for other issue in
recent version. That means the original problem was gone.
Fix: 247005789
Test: atest WindowManagerServiceTests#testRelayoutExitingWindow
Change-Id: I2255fdad39560fd3dff589985687bea93a00a038
Diffstat (limited to 'libs/androidfw/FileStream.cpp')
0 files changed, 0 insertions, 0 deletions