From aab3833328ba1032eef7cd2438c99917a04049c2 Mon Sep 17 00:00:00 2001 From: codeworkx Date: Sun, 22 Oct 2017 21:28:30 +0200 Subject: msm8996-common: libshims: properly shim DisplayEventReceiver for ZEUSIS Algo Change-Id: I33b3eff27c730d10c636fd0014137d03810aeba0 --- libshims/camera_shim.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'libshims/camera_shim.cpp') diff --git a/libshims/camera_shim.cpp b/libshims/camera_shim.cpp index ec8b580..68e8ccc 100644 --- a/libshims/camera_shim.cpp +++ b/libshims/camera_shim.cpp @@ -16,8 +16,18 @@ #include +#include + #include +#include "gui/DisplayEventReceiver.h" +#include +#include + +#include + +#include + extern "C" void _ZN7android13GraphicBufferC1EjjijjjP13native_handleb( const native_handle_t* handle, android::GraphicBuffer::HandleWrapMethod method, @@ -43,8 +53,18 @@ extern "C" void _ZN7android13GraphicBufferC1EjjijjP13native_handleb( inFormat, static_cast(1), static_cast(inUsage), inStride); } -extern "C" void _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(); +namespace android { -extern "C" void _ZN7android20DisplayEventReceiverC1Ev() { - _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(); +DisplayEventReceiver::DisplayEventReceiver() { + status_t err; + sp sf(ComposerService::getComposerService()); + if (sf != NULL) { + mEventConnection = sf->createDisplayEventConnection(ISurfaceComposer::eVsyncSourceApp); + if (mEventConnection != NULL) { + mDataChannel = std::make_unique(); + err = mEventConnection->stealReceiveChannel(mDataChannel.get()); + } + } } + +}; // namespace android -- cgit v1.2.3