No onMultiWindowModeChanged callback from split to PiP
When entering PiP from split-screen, there should be exact one
onPictureInPictureModeChanged callback with zero
onMultiWindowModeChanged since the multi-window mode is not changed.
When the stack is nested, we reparent the to-be-pinned stack to the
display area and later on set the stack windowing mode onto
ActivityRecord, which ends up WINDOWING_MODE_FULLSCREEN in this case.
Therefore, the windowing mode changes from split-screen-secondary to
fullscreen and then pinned. And client receives
onMultiWindowModeChanged(false), onPictureInPictureModeChanged(true),
onMultiWindowModeChanged(true) in sequence.
Fixes this by setting the windowing mode prior to re-parenting within
RootWindowContainer#moveActivityToPinnedStack
Bug: 157172491
Test: manually enter PiP from split screen and verifies lifecycle
Change-Id: Idf57235349ed6b78db96a632af9665b6e39edb78
1 file changed