diff options
author | 2023-08-15 09:36:37 -0700 | |
---|---|---|
committer | 2023-09-21 10:44:18 -0700 | |
commit | 5dcd75d46c5e4eda82c42660eea56f0d923acd53 (patch) | |
tree | 4361b8ed292282f70c411e458a9f85fabc997bdf /libs/gui/DisplayEventDispatcher.cpp | |
parent | c79a756a21be45c13d5578f3c14e7b021cc9927e (diff) |
SF: Propagate display hotplug errors
Add support for SurfaceFlinger to handle display connection
errors and propagate any error code on hotplug event up the
stack.
Bug: 241286153
Test: manual
Change-Id: I88afeb4f61b13714a81138180db0762cf3ae4ab0
Diffstat (limited to 'libs/gui/DisplayEventDispatcher.cpp')
-rw-r--r-- | libs/gui/DisplayEventDispatcher.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/gui/DisplayEventDispatcher.cpp b/libs/gui/DisplayEventDispatcher.cpp index 8a883770d8..5dd058cf9f 100644 --- a/libs/gui/DisplayEventDispatcher.cpp +++ b/libs/gui/DisplayEventDispatcher.cpp @@ -173,7 +173,13 @@ bool DisplayEventDispatcher::processPendingEvents(nsecs_t* outTimestamp, *outVsyncEventData = ev.vsync.vsyncData; break; case DisplayEventReceiver::DISPLAY_EVENT_HOTPLUG: - dispatchHotplug(ev.header.timestamp, ev.header.displayId, ev.hotplug.connected); + if (ev.hotplug.connectionError == 0) { + dispatchHotplug(ev.header.timestamp, ev.header.displayId, + ev.hotplug.connected); + } else { + dispatchHotplugConnectionError(ev.header.timestamp, + ev.hotplug.connectionError); + } break; case DisplayEventReceiver::DISPLAY_EVENT_MODE_CHANGE: dispatchModeChanged(ev.header.timestamp, ev.header.displayId, |