diff options
| author | 2023-09-25 12:26:39 +0200 | |
|---|---|---|
| committer | 2023-09-25 12:26:39 +0200 | |
| commit | 9a74366d47552a2bc187cc5ee5295f25a2bf4747 (patch) | |
| tree | 4262bbaf7bebb44ad99aaf7ff3c4c81c948069b9 | |
| parent | 9408b29f2b1693003b2173d5f5bbe8c0910f5d80 (diff) | |
Notify VDM for display removal before listeners.
This allows the displays of a virtual device to be in a
consistent state when clients receive onDisplayRemoved callback.
Test: presubmit
Test: atest VirtualDeviceManagerBasicTest#getVirtualDevice_getDisplayIds --iterations=100
Fix: 301578754
Change-Id: Ida80070c525b2aa047a848ddaa8de6e817d7f51e
| -rw-r--r-- | services/core/java/com/android/server/display/DisplayManagerService.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index df45001b7086..9f0b9268762c 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -2027,9 +2027,6 @@ public final class DisplayManagerService extends SystemService { mDisplayBrightnesses.delete(displayId); DisplayManagerGlobal.invalidateLocalDisplayInfoCaches(); - sendDisplayEventLocked(display, event); - scheduleTraversalLocked(false); - if (mDisplayWindowPolicyControllers.contains(displayId)) { final IVirtualDevice virtualDevice = mDisplayWindowPolicyControllers.removeReturnOld(displayId).first; @@ -2040,6 +2037,9 @@ public final class DisplayManagerService extends SystemService { }); } } + + sendDisplayEventLocked(display, event); + scheduleTraversalLocked(false); } private void handleLogicalDisplaySwappedLocked(@NonNull LogicalDisplay display) { |