Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c3a5eb0 authored by Lloyd Pique's avatar Lloyd Pique
Browse files

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
parent adca95f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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;