Crop the surface using the rect hint before animating out of PIP

While transitioning from PIP->Fullscreen the surface is uncroped
and scaled using the source rect hint from the PIP position to
the destination bounds (fullscreen). The animation controller
creates its own SurfaceControl.Transaction to apply the scale
and crop to the surface, which means that the transform is not
applied until the next frame.
To avoid this bad frame, apply the initial surface control
transaction again after starting the animation using the
SurfaceControl.Transaction supplied by the SyncTransactionQueue
callback.

Bug: 184166183
Test: Enter PIP with YT, exit to fullscreen and verify there's no
jank/flash

Change-Id: I4e4ba51be03aa86e0629e8d6532c0c4098c21aed
2 files changed