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>
(cherry picked from commit 853c99a083dc6a96694373c48f427e4d3466d4a9)
5 files changed