Removing per-user PiP component.
- This was added in ag/923778 for TV, where the TV recents activity, which
is started per-user, needed to reference the PiP bounds to coordinate the
layout of the PiP UI in recents. As a result of that change, the PiP
manager for both phones and TV was being instantiated multiple times,
once for the primary user, and another for secondary/managed users. With
each instantiation of the PipManager, we were re-registering the input
consumer, and once the process was killed, the input consumer was not
being cleaned up correctly and it not longer was registered with the
primary SystemUI which drives the PiP.
As of ag/1964066, the TV recents code is removed, so we can now safely
remove the PipUI component for secondary users as well, ensuring only a
single PipManager/InputConsumerController instance.
This does not prevent PiP from working in secondary users, but only
leaves the input consumer and menu controller in the primary user's
SystemUI.
- Fix some crashes when interacting with the PiP in a secondary user,
all communication between the menu controller and the menu activity
should be done in a parcelable way as the menu activity runs per-user
- Adding exception when the PipUI component is not created for the primary
user
- Initial changes to dump input consumers in WM to be able to correlate
them with SysUI's state
Bug: 35792308
Test: Ensure PiP component is not started for secondary user, verify that
it still works on secondary users
Change-Id: I3df10860227498bc37799ad296f0a4b71b87d30e
Signed-off-by: Winson Chung <winsonc@google.com>
5 files changed