Make PipTransition use animators bounds for unhandled case
PipTransition is the last one to handle the rotation. It is first going through PipController.mRotationController, which sets the bounds to value A, then PipKeepClearAlgorithm updates those to B due to IME or shelf height adjustments, and finally PipTransition performs an unhandled PiP transition, but still uses the bounds from A, which are missing the keep clear area adjustment. The events are disjoint and we shouldn't rely on their ordering, hence keep clear area change should keep triggering animation. There is still a small flicker visible if the distance to travel by PiP is large (like with IME), because at that point the PipTransition callback comes before the animator finishes, thus putting it in the final position before the animators end through the finishTransaction. Bug: 285242520 Test: before http://recall/-/ekEuGtt9d9HWqkUtAzpHx8/cLtiXGYUyItm2kNCCEkkWA Test: after http://recall/-/ekEuGtt9d9HWqkUtAzpHx8/iPs6fwdSXG3TE0IERmxA8 Change-Id: I713a02ae90c8bdd6ff11e43a5c4f9ff959d2342e
Loading
Please register or sign in to comment