Per-power group sleep and dim timeout

 - VDM API to set custom sleep and dim timeout
 - Only for trusted non-mirror displays
 - Single timeout per device, all VDM displays that are NOT in the
   default display group are trusted and non-mirror. Display groups
   cannot be shared across devices.
 - PowerGroup gets these from VDM - the power group creation is async
   and with the display creation in VDM, so ensure that the display is
   created entirely in the locked section, so the power group query
   will always succeed.
 - We can finally drop the WakeLock from VDM and rely on the infinite
   sleep timeout (which needs to be the default, unfortunately)

Fix: 365188956
Test: new CTS in topic
Test: presubmit
Test: atest PowerServiceTests
Flag: android.companion.virtualdevice.flags.device_aware_display_power

Change-Id: Ieb32e8a6fd9660080eec998430b0e20d21017464
10 files changed