summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Komsiyski <vladokom@google.com> 2023-09-25 12:26:39 +0200
committer Vladimir Komsiyski <vladokom@google.com> 2023-09-25 12:26:39 +0200
commit9a74366d47552a2bc187cc5ee5295f25a2bf4747 (patch)
tree4262bbaf7bebb44ad99aaf7ff3c4c81c948069b9
parent9408b29f2b1693003b2173d5f5bbe8c0910f5d80 (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.java6
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) {