Don't pass deviceId in ActivityClientRecord

Refactor to pass it directly from the execute() method in
LaunchActivityItem.

- Removed TODO suggested in review of ag/20723446
- Also stopped sending INVALID id from WindowProcessController
  and always send the top activity deviceId to the app process.

Note: this will incur in a slight behavioral change: when an activity
is re-started, this will not count as the last activity started in terms
of which device ID is assigned to non-UI Contexts. This is not expected
to cause any problems and the behavior is documented in a new CTS test
that covers this case.

Bug: 263402465
Test: atest DeviceAssociationTests
Change-Id: I64e8342374cc41e47a671827751e3e04f88d85d5
6 files changed