Various pinned animation bug fixes.
First we need to change the way the aspect scale cropping happens
on the way down, previously we relied on the stack bounds to crop us
and did not expand the stack bounds for shadows. Now that the stack
surface bounds are expanded for shadows we have to do the additional
cropping required by this animation at the WSA level. Namely we interpolate
such that when the animation reaches 100% progress everything except
the source bounds will be cropped out. If we didn't do this we would see
a surfaceInsets sized sliver of the original app at the end of the animation.
A second fix is to update the stack bounds when changing windowing modes
to make sure we immediately expand for the pinned insets (as the WindowState
level may now immediately reposition to compensate).
A third fix is to correct the stack outset logic to match the client side
in WindowManager.java
A fourth fix is to bump the default and arbitrary surface size to allow
for surfaces slightly larger than full-screen and positioned at a negative
position, e.g. a full-screen-surface which retained it's insets due
to a slow or non-cooperative client.
Bug: 70666541
Test: Manual. go/wm-smoke.
Change-Id: I045ddf191cd3875f5d32c2e15da6e01fb50f3a01
3 files changed