Sync insets leash position with shell seamless rotation
With shell transition, the individual seamless rotated windows are managed by AsyncRotationController. When the window is drawn in new rotation, its seamless transformation will be cleared to fit in new screen coordinate. If the update of insets surface position is in a different transaction, the position may be updated before restoring the transformation. That causes the window to show at a weird position. Instead of using legacy startSeamlessRotation/finishSeamlessRotation of InsetsSourceProvider which stops the insets animation, the synchronization can be done by merging the transaction to the one that will update the transformation. This may be also more efficiency because no need to remove/recreate the leash. Bug: 223396866 Test: Use 3-button navigation. Launch landscape app from portrait launcher. The navigation bar should not disappear for a split second. Change-Id: I51ebd9f2c90b2b4d12f77d1361acc66ab7777b38
Loading
Please register or sign in to comment