Override process config for cold start on secondary screens

Some apps use Application context to get display configuration and
metrics for their activities. This leads to incorrect configuration
used for activities on secondary screens. This is an issue on the
application side, but the framework can provide some compatibility -
override process-level config to match the display where the first
activity was launched.

Once an activity in the process is launched on the default display,
stop watching other displays config to preserve compatibility.

Bug: 131179060
Test: atest WmTests:ActivityRecordTests#testSetProcessOverridesConfig
Test: Launch GMail on secondary screen
Change-Id: If76f4a83c708f47fd914da68dd4b7366ffd8b88c
6 files changed