Merge "Fix black screen while pip to split screen" into sc-dev
This commit is contained in:
@@ -540,9 +540,10 @@ public class PipAnimationController {
|
||||
// WindowContainerTransaction in task organizer
|
||||
final Rect destBounds = getDestinationBounds();
|
||||
getSurfaceTransactionHelper().resetScale(tx, leash, destBounds);
|
||||
if (transitionDirection == TRANSITION_DIRECTION_LEAVE_PIP) {
|
||||
// Leaving to fullscreen, reset crop to null.
|
||||
tx.setPosition(leash, destBounds.left, destBounds.top);
|
||||
if (isOutPipDirection(transitionDirection)) {
|
||||
// Exit pip, clear scale, position and crop.
|
||||
tx.setMatrix(leash, 1, 0, 0, 1);
|
||||
tx.setPosition(leash, 0, 0);
|
||||
tx.setWindowCrop(leash, 0, 0);
|
||||
} else {
|
||||
getSurfaceTransactionHelper().crop(tx, leash, destBounds);
|
||||
|
||||
@@ -1016,10 +1016,9 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
|
||||
wct.setActivityWindowingMode(mToken, WINDOWING_MODE_UNDEFINED);
|
||||
wct.scheduleFinishEnterPip(mToken, destinationBounds);
|
||||
} else if (isOutPipDirection(direction)) {
|
||||
// If we are animating to fullscreen, then we need to reset the override bounds
|
||||
// on the task to ensure that the task "matches" the parent's bounds.
|
||||
taskBounds = (direction == TRANSITION_DIRECTION_LEAVE_PIP)
|
||||
? null : destinationBounds;
|
||||
// If we are animating to fullscreen or split screen, then we need to reset the
|
||||
// override bounds on the task to ensure that the task "matches" the parent's bounds.
|
||||
taskBounds = null;
|
||||
applyWindowingModeChangeOnExit(wct, direction);
|
||||
} else {
|
||||
// Just a resize in PIP
|
||||
|
||||
Reference in New Issue
Block a user