diff options
author | 2019-10-03 13:07:08 -0700 | |
---|---|---|
committer | 2019-10-03 14:55:41 -0700 | |
commit | 1c3a5eb0a4adb44adce52ea4a7b2005d18dc86e6 (patch) | |
tree | 659ecb76d084736071b5fd1b65c5d6d5b321f458 | |
parent | adca95f855679413b02d78f6e2927cd8cbdff8be (diff) |
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
-rw-r--r-- | services/surfaceflinger/BufferQueueLayer.cpp | 2 | ||||
-rw-r--r-- | services/surfaceflinger/BufferStateLayer.cpp | 2 | ||||
-rw-r--r-- | services/surfaceflinger/ColorLayer.cpp | 2 | ||||
-rw-r--r-- | services/surfaceflinger/ContainerLayer.cpp | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp index eb13f658d9..d80a70e4c6 100644 --- a/services/surfaceflinger/BufferQueueLayer.cpp +++ b/services/surfaceflinger/BufferQueueLayer.cpp @@ -531,7 +531,7 @@ sp<Layer> BufferQueueLayer::createClone() { LayerCreationArgs args = LayerCreationArgs(mFlinger.get(), nullptr, name, 0, 0, 0, LayerMetadata()); args.textureName = mTextureName; - sp<BufferQueueLayer> layer = new BufferQueueLayer(args); + sp<BufferQueueLayer> layer = mFlinger->getFactory().createBufferQueueLayer(args); layer->setInitialValuesForClone(this); return layer; diff --git a/services/surfaceflinger/BufferStateLayer.cpp b/services/surfaceflinger/BufferStateLayer.cpp index fa4539ab91..75fc0e9c06 100644 --- a/services/surfaceflinger/BufferStateLayer.cpp +++ b/services/surfaceflinger/BufferStateLayer.cpp @@ -673,7 +673,7 @@ sp<Layer> BufferStateLayer::createClone() { 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; diff --git a/services/surfaceflinger/ColorLayer.cpp b/services/surfaceflinger/ColorLayer.cpp index 5b620543ac..172d44556a 100644 --- a/services/surfaceflinger/ColorLayer.cpp +++ b/services/surfaceflinger/ColorLayer.cpp @@ -109,7 +109,7 @@ ui::Dataspace ColorLayer::getDataSpace() const { sp<Layer> ColorLayer::createClone() { String8 name = mName + " (Mirror)"; - sp<ColorLayer> layer = new ColorLayer( + sp<ColorLayer> layer = mFlinger->getFactory().createColorLayer( LayerCreationArgs(mFlinger.get(), nullptr, name, 0, 0, 0, LayerMetadata())); layer->setInitialValuesForClone(this); return layer; diff --git a/services/surfaceflinger/ContainerLayer.cpp b/services/surfaceflinger/ContainerLayer.cpp index cb50d9ff6d..e58e6f425e 100644 --- a/services/surfaceflinger/ContainerLayer.cpp +++ b/services/surfaceflinger/ContainerLayer.cpp @@ -32,7 +32,7 @@ bool ContainerLayer::isVisible() const { sp<Layer> ContainerLayer::createClone() { String8 name = mName + " (Mirror)"; - sp<ContainerLayer> layer = new ContainerLayer( + sp<ContainerLayer> layer = mFlinger->getFactory().createContainerLayer( LayerCreationArgs(mFlinger.get(), nullptr, name, 0, 0, 0, LayerMetadata())); layer->setInitialValuesForClone(this); return layer; |