Ensure TaskOrganizer works for newly created pinned stack
Steps to reproduce the bug:
- Restart the device
- Open Duo app and make a call
- When in call, try entering PiP
Duo application contains multiple activities and we create a new stack
from its top activity when moving it to pinned mode. This newly created
stack does not carry on the existing PictureInPictureParams, nor it is
marked as visible. Therefore, no onTaskAppeared would be sent to the
task organizer.
Also in this change:
- Removed aspectRatio and sourceHintBounds used to be passed into
RootWindowContainer#moveActivityToPinnedStack, they are used in
moveActivityToPinnedStack and one should refer to the
PictureInPictureParams set on ActivityRecord
- Added a null check for existing token when onTaskInfoChanged is
invoked in PipTaskOrganizer, it should be a fatal error that
onTaskInfoChanged is called ahead of onTaskAppeared
Bug: 152933995
Test: manually enter/exit PiP mode for Duo app
Test: atest RootActivityContainerTests
Test: atest ActivityRecordTests
Change-Id: Ifa9ad8768ba47ce043b8dd86cadc729931edcb14
5 files changed