Refactor virtual display creation and cleanup
* Consolidate all resources tied to display in newly added VirtualDisplayWrapper data class. * Simplify virtual display creation logic but moving all business logic inside VirtualDeviceImpl.createVirtualDisplay * Release all not-yet released displays when the virtual device is closed. * Fix locking issues (unnecessary holding of lock, vs missing locking). * Fix deadlock caused by lock inversion when holding mVirtualDeviceLock during calls into mInputController / InputManagerInternal. Bug: 267747549 Bug: 266567359 Test: atest VirtualDeviceManagerServiceTest Test: atest CtsVirtualDevicesTestCases Test: atest VirtualDisplayTest --iterations 30 Change-Id: Ie447bd1cee9356a6343ed38c35e13c8228d2464f
Loading
Please register or sign in to comment