Prevent deadlock when releasing VirtualDisplays

When releasing a VirtualDisplay owned by a VirtualDevice, the
VirtualDeviceManagerService needs to release a WakeLock it holds on
behalf of the display. This needs to happen outside of the
synchronized block in DisplayManagerService, because releasing the
WakeLock ends up calling back into the DisplayManagerService.

Fixes: 224775363
Test: atest StreamedAppBehaviorTest
Change-Id: Ie831fcad7105d51c64717c3e00d332c543de3b47
1 file changed