Ensure PiP window visible after fold/unfold device

We used to do only PipTaskOrganizer#scheduleResizePip without commiting
PipTaskOrganizer#scheduleFinishResizePip upon display change.

Bug: 241961056
Test: Enter PiP in unfolded state then fold the device
Test: atest WMShellUnitTests:PipControllerTest
Change-Id: I1c72c5e6016cd19017b43a8df583e730f15619a1
This commit is contained in:
Hongwei Wang
2022-08-09 13:39:52 -07:00
parent 6bd105d566
commit 4f3138bea7
2 changed files with 4 additions and 3 deletions

View File

@@ -628,7 +628,8 @@ public class PipController implements PipTransitionController.PipTransitionCallb
mPipTaskOrganizer.scheduleAnimateResizePip(
postChangeBounds, duration, null /* updateBoundsCallback */);
} else {
mTouchHandler.getMotionHelper().movePip(postChangeBounds);
// Directly move PiP to its final destination bounds without animation.
mPipTaskOrganizer.scheduleFinishResizePip(postChangeBounds);
}
} else {
updateDisplayLayout.run();

View File

@@ -217,7 +217,7 @@ public class PipControllerTest extends ShellTestCase {
mPipController.mDisplaysChangedListener.onDisplayConfigurationChanged(
displayId, new Configuration());
verify(mMockPipMotionHelper).movePip(any(Rect.class));
verify(mMockPipTaskOrganizer).scheduleFinishResizePip(any(Rect.class));
}
@Test
@@ -233,7 +233,7 @@ public class PipControllerTest extends ShellTestCase {
mPipController.mDisplaysChangedListener.onDisplayConfigurationChanged(
displayId, new Configuration());
verify(mMockPipMotionHelper, never()).movePip(any(Rect.class));
verify(mMockPipTaskOrganizer, never()).scheduleFinishResizePip(any(Rect.class));
}
@Test