SF: Switch BufferQueueLayer to using the factory during init
Test: atest libsurfaceflinger_unittest
Test: go/wm_smoke
Bug: None
Change-Id: I63afc8020894ca2d56789db693ecaeb145ea6e6d
diff --git a/services/surfaceflinger/SurfaceFlingerDefaultFactory.cpp b/services/surfaceflinger/SurfaceFlingerDefaultFactory.cpp
index f0457e3..4f439da 100644
--- a/services/surfaceflinger/SurfaceFlingerDefaultFactory.cpp
+++ b/services/surfaceflinger/SurfaceFlingerDefaultFactory.cpp
@@ -17,12 +17,14 @@
#include <compositionengine/impl/CompositionEngine.h>
#include <ui/GraphicBuffer.h>
+#include "BufferLayerConsumer.h"
#include "BufferQueueLayer.h"
#include "BufferStateLayer.h"
#include "ColorLayer.h"
#include "ContainerLayer.h"
#include "DisplayDevice.h"
#include "Layer.h"
+#include "MonitoredProducer.h"
#include "NativeWindowSurface.h"
#include "StartPropertySetThread.h"
#include "SurfaceFlingerDefaultFactory.h"
@@ -92,6 +94,18 @@
BufferQueue::createBufferQueue(outProducer, outConsumer, consumerIsSurfaceFlinger);
}
+sp<IGraphicBufferProducer> DefaultFactory::createMonitoredProducer(
+ const sp<IGraphicBufferProducer>& producer, const sp<SurfaceFlinger>& flinger,
+ const wp<Layer>& layer) {
+ return new MonitoredProducer(producer, flinger, layer);
+}
+
+sp<BufferLayerConsumer> DefaultFactory::createBufferLayerConsumer(
+ const sp<IGraphicBufferConsumer>& consumer, renderengine::RenderEngine& renderEngine,
+ uint32_t textureName, Layer* layer) {
+ return new BufferLayerConsumer(consumer, renderEngine, textureName, layer);
+}
+
std::unique_ptr<surfaceflinger::NativeWindowSurface> DefaultFactory::createNativeWindowSurface(
const sp<IGraphicBufferProducer>& producer) {
return surfaceflinger::impl::createNativeWindowSurface(producer);