diff --git a/include/gui/Surface.h b/include/gui/Surface.h index 98f4f4f6a..863f22bb0 100644 --- a/include/gui/Surface.h +++ b/include/gui/Surface.h @@ -157,6 +157,7 @@ protected: virtual int lockBuffer_DEPRECATED(ANativeWindowBuffer* buffer); + virtual int connect(int api, const sp& listener); virtual int connect(int api); virtual int disconnect(int api); virtual int setBufferCount(int bufferCount); diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index aa4aee4b2..98489b1fe 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -547,9 +547,13 @@ int Surface::dispatchSetSidebandStream(va_list args) { } int Surface::connect(int api) { + static sp listener = new DummyProducerListener(); + return connect(api, listener); +} + +int Surface::connect(int api, const sp& listener) { ATRACE_CALL(); ALOGV("Surface::connect"); - static sp listener = new DummyProducerListener(); Mutex::Autolock lock(mMutex); IGraphicBufferProducer::QueueBufferOutput output; int err = mGraphicBufferProducer->connect(listener, api, mProducerControlledByApp, &output);