Do not set mAnimatingExit on invisible window

With shell transition, WS#isExitAnimationRunningSelfOrParent of an
activity window can be true if the display is running change transition
(e.g. rotation). But there won't be a WS#onExitAnimationDone to consume
the flag, because shell transition doesn't use AR#onAnimationFinished,
also the activity may not be included in the transition participants.

So instead of adding workaround to call WS#cleanupAnimatingExitWindow
for all windows after every transition, if the window is already
invisible, its surface can be directly destroyed. That would also solve
some cases in legacy transition which were handled by the workaround.

Fixes: 242285965
Test: WindowManagerServiceTests#testRelayoutExitingWindow

Change-Id: Ifa1fd03c968710af0350439ecc3563b32d218e26
2 files changed