From 5dcd75d46c5e4eda82c42660eea56f0d923acd53 Mon Sep 17 00:00:00 2001 From: Brian Johnson Date: Tue, 15 Aug 2023 09:36:37 -0700 Subject: 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 --- libs/gui/DisplayEventDispatcher.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libs/gui/DisplayEventDispatcher.cpp') 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, -- cgit v1.2.3-59-g8ed1b