diff options
author | Michael Lentine <mlentine@google.com> | 2015-05-12 18:04:26 -0700 |
---|---|---|
committer | Michael Lentine <mlentine@google.com> | 2015-05-22 13:14:57 -0700 |
commit | 10613dc3b565e95d3d5f459ec70fd2f6a77f807a (patch) | |
tree | ec63fd84f2dccf01467ef3e1ab35d2c4dd4a1e7e /services/surfaceflinger/DisplayHardware | |
parent | 5a16a62950de06d48769e29f0c68a154ed7a7a89 (diff) | |
download | frameworks_native-10613dc3b565e95d3d5f459ec70fd2f6a77f807a.zip frameworks_native-10613dc3b565e95d3d5f459ec70fd2f6a77f807a.tar.gz frameworks_native-10613dc3b565e95d3d5f459ec70fd2f6a77f807a.tar.bz2 |
Add hotplug support for primary display.
When the primary is connected/disconnected on tv devices HWComposer updates
it's display parameters but doesn't destroy or recreate the display.
Bug: 18698244
Change-Id: I759c8f75d3e3a7462b85eb51973fb5072b71a702
Diffstat (limited to 'services/surfaceflinger/DisplayHardware')
-rw-r--r-- | services/surfaceflinger/DisplayHardware/HWComposer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp index 579b39e..02c31ff 100644 --- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp +++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp @@ -305,13 +305,16 @@ void HWComposer::vsync(int disp, int64_t timestamp) { } void HWComposer::hotplug(int disp, int connected) { - if (disp == HWC_DISPLAY_PRIMARY || disp >= VIRTUAL_DISPLAY_ID_BASE) { + if (disp >= VIRTUAL_DISPLAY_ID_BASE) { ALOGE("hotplug event received for invalid display: disp=%d connected=%d", disp, connected); return; } queryDisplayProperties(disp); - mEventHandler.onHotplugReceived(disp, bool(connected)); + // Do not teardown or recreate the primary display + if (disp != HWC_DISPLAY_PRIMARY) { + mEventHandler.onHotplugReceived(disp, bool(connected)); + } } static float getDefaultDensity(uint32_t width, uint32_t height) { |