SF: Switch Layer::createClone to using the factory
Using the factory ensures the intended actual types are used for the
clone.
Test: atest libsurfaceflinger_unittest
Test: go/wm_smoke
Bug: None
Change-Id: I64138724aed2d8c61dc5d59bba247d132291da0c
diff --git a/services/surfaceflinger/BufferStateLayer.cpp b/services/surfaceflinger/BufferStateLayer.cpp
index fa4539a..75fc0e9 100644
--- a/services/surfaceflinger/BufferStateLayer.cpp
+++ b/services/surfaceflinger/BufferStateLayer.cpp
@@ -673,7 +673,7 @@
LayerCreationArgs args =
LayerCreationArgs(mFlinger.get(), nullptr, name, 0, 0, 0, LayerMetadata());
args.textureName = mTextureName;
- sp<BufferStateLayer> layer = new BufferStateLayer(args);
+ sp<BufferStateLayer> layer = mFlinger->getFactory().createBufferStateLayer(args);
layer->mHwcSlotGenerator = mHwcSlotGenerator;
layer->setInitialValuesForClone(this);
return layer;