Use getOutWindowingMode instead of WINDOWING_MODE_UNDEFINED
If the next windowing mode after a window exits PIP is different from that of the display, it must be set explicitly instead of just being reset to WINDOWING_MODE_UNDEFINED. Bug: 238964721 Test: Manually test PIP on YouTube Change-Id: I8b70d0032c197a3258695c73e3c3c3f7ed5115ea
This commit is contained in:
@@ -444,7 +444,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
|
||||
// When exit to fullscreen with Shell transition enabled, we update the Task windowing
|
||||
// mode directly so that it can also trigger display rotation and visibility update in
|
||||
// the same transition if there will be any.
|
||||
wct.setWindowingMode(mToken, WINDOWING_MODE_UNDEFINED);
|
||||
wct.setWindowingMode(mToken, getOutPipWindowingMode());
|
||||
// We can inherit the parent bounds as it is going to be fullscreen. The
|
||||
// destinationBounds calculated above will be incorrect if this is with rotation.
|
||||
wct.setBounds(mToken, null);
|
||||
@@ -543,7 +543,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
|
||||
if (Transitions.ENABLE_SHELL_TRANSITIONS) {
|
||||
final WindowContainerTransaction wct = new WindowContainerTransaction();
|
||||
wct.setBounds(mToken, null);
|
||||
wct.setWindowingMode(mToken, WINDOWING_MODE_UNDEFINED);
|
||||
wct.setWindowingMode(mToken, getOutPipWindowingMode());
|
||||
wct.reorder(mToken, false);
|
||||
mPipTransitionController.startExitTransition(TRANSIT_REMOVE_PIP, wct,
|
||||
null /* destinationBounds */);
|
||||
|
||||
Reference in New Issue
Block a user