Loading
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