summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/SurfaceFlinger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index db534cc60a..5acf2b8f85 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2293,8 +2293,11 @@ void SurfaceFlinger::processDisplayChangesLocked() {
if (const auto display = getDisplayDeviceLocked(draw.keyAt(i))) {
display->disconnect(getHwComposer());
}
- if (draw[i].type < DisplayDevice::NUM_BUILTIN_DISPLAY_TYPES)
- mEventThread->onHotplugReceived(draw[i].type, false);
+ if (draw[i].type == DisplayDevice::DISPLAY_PRIMARY) {
+ mEventThread->onHotplugReceived(EventThread::DisplayType::Primary, false);
+ } else if (draw[i].type == DisplayDevice::DISPLAY_EXTERNAL) {
+ mEventThread->onHotplugReceived(EventThread::DisplayType::External, false);
+ }
mDisplays.erase(draw.keyAt(i));
} else {
// this display is in both lists. see if something changed.
@@ -2395,7 +2398,13 @@ void SurfaceFlinger::processDisplayChangesLocked() {
setupNewDisplayDeviceInternal(displayToken, displayId, state,
dispSurface, producer));
if (!state.isVirtual()) {
- mEventThread->onHotplugReceived(state.type, true);
+ if (state.type == DisplayDevice::DISPLAY_PRIMARY) {
+ mEventThread->onHotplugReceived(EventThread::DisplayType::Primary,
+ true);
+ } else if (state.type == DisplayDevice::DISPLAY_EXTERNAL) {
+ mEventThread->onHotplugReceived(EventThread::DisplayType::External,
+ true);
+ }
}
}
}