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

Commit 5eb6ab27 authored by Marissa Wall's avatar Marissa Wall
Browse files

Revert "blast: create SurfaceControl from Surface parent"

This reverts commit 32cae4a1.

Reason for revert: treehugger was running on an older build and there is a conflict that it didn't catch

Change-Id: Ia7caee7c2525ad6362c84458cfa19a3fa9ee9a0e
parent 32cae4a1
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ namespace { // Anonymous

enum class Tag : uint32_t {
    CREATE_SURFACE = IBinder::FIRST_CALL_TRANSACTION,
    CREATE_WITH_SURFACE_PARENT,
    DESTROY_SURFACE,
    CLEAR_LAYER_FRAME_STATS,
    GET_LAYER_FRAME_STATS,
@@ -58,18 +57,6 @@ public:
                                                                            handle, gbp);
    }

    status_t createWithSurfaceParent(const String8& name, uint32_t width, uint32_t height,
                                     PixelFormat format, uint32_t flags,
                                     const sp<IGraphicBufferProducer>& parent, int32_t windowType,
                                     int32_t ownerUid, sp<IBinder>* handle,
                                     sp<IGraphicBufferProducer>* gbp) override {
        return callRemote<decltype(
                &ISurfaceComposerClient::createWithSurfaceParent)>(Tag::CREATE_WITH_SURFACE_PARENT,
                                                                   name, width, height, format,
                                                                   flags, parent, windowType,
                                                                   ownerUid, handle, gbp);
    }

    status_t destroySurface(const sp<IBinder>& handle) override {
        return callRemote<decltype(&ISurfaceComposerClient::destroySurface)>(Tag::DESTROY_SURFACE,
                                                                             handle);
@@ -105,8 +92,6 @@ status_t BnSurfaceComposerClient::onTransact(uint32_t code, const Parcel& data,
    switch (tag) {
        case Tag::CREATE_SURFACE:
            return callLocal(data, reply, &ISurfaceComposerClient::createSurface);
        case Tag::CREATE_WITH_SURFACE_PARENT:
            return callLocal(data, reply, &ISurfaceComposerClient::createWithSurfaceParent);
        case Tag::DESTROY_SURFACE:
            return callLocal(data, reply, &ISurfaceComposerClient::destroySurface);
        case Tag::CLEAR_LAYER_FRAME_STATS:
+0 −24
Original line number Diff line number Diff line
@@ -972,29 +972,6 @@ sp<SurfaceControl> SurfaceComposerClient::createSurface(
    return s;
}

sp<SurfaceControl> SurfaceComposerClient::createWithSurfaceParent(const String8& name, uint32_t w,
                                                                  uint32_t h, PixelFormat format,
                                                                  uint32_t flags, Surface* parent,
                                                                  int32_t windowType,
                                                                  int32_t ownerUid) {
    sp<SurfaceControl> sur;
    status_t err = mStatus;

    if (mStatus == NO_ERROR) {
        sp<IBinder> handle;
        sp<IGraphicBufferProducer> parentGbp = parent->getIGraphicBufferProducer();
        sp<IGraphicBufferProducer> gbp;

        err = mClient->createWithSurfaceParent(name, w, h, format, flags, parentGbp, windowType,
                                               ownerUid, &handle, &gbp);
        ALOGE_IF(err, "SurfaceComposerClient::createWithSurfaceParent error %s", strerror(-err));
        if (err == NO_ERROR) {
            return new SurfaceControl(this, handle, gbp, true /* owned */);
        }
    }
    return nullptr;
}

status_t SurfaceComposerClient::createSurfaceChecked(
        const String8& name,
        uint32_t w,
@@ -1157,7 +1134,6 @@ status_t SurfaceComposerClient::getDisplayedContentSample(const sp<IBinder>& dis
    return ComposerService::getComposerService()->getDisplayedContentSample(display, maxFrames,
                                                                            timestamp, outStats);
}

// ----------------------------------------------------------------------------

status_t ScreenshotClient::capture(const sp<IBinder>& display, const ui::Dataspace reqDataSpace,
+0 −10
Original line number Diff line number Diff line
@@ -55,16 +55,6 @@ public:
                                   int32_t ownerUid, sp<IBinder>* handle,
                                   sp<IGraphicBufferProducer>* gbp) = 0;

    /*
     * Requires ACCESS_SURFACE_FLINGER permission
     */
    virtual status_t createWithSurfaceParent(const String8& name, uint32_t w, uint32_t h,
                                             PixelFormat format, uint32_t flags,
                                             const sp<IGraphicBufferProducer>& parent,
                                             int32_t windowType, int32_t ownerUid,
                                             sp<IBinder>* handle,
                                             sp<IGraphicBufferProducer>* gbp) = 0;

    /*
     * Requires ACCESS_SURFACE_FLINGER permission
     */
+6 −18
Original line number Diff line number Diff line
@@ -172,18 +172,6 @@ public:
            int32_t ownerUid = -1 // UID of the task
    );

    //! Create a surface
    sp<SurfaceControl> createWithSurfaceParent(
            const String8& name,       // name of the surface
            uint32_t w,                // width in pixel
            uint32_t h,                // height in pixel
            PixelFormat format,        // pixel-format desired
            uint32_t flags = 0,        // usage flags
            Surface* parent = nullptr, // parent
            int32_t windowType = -1,   // from WindowManager.java (STATUS_BAR, INPUT_METHOD, etc.)
            int32_t ownerUid = -1      // UID of the task
    );

    //! Create a virtual display
    static sp<IBinder> createDisplay(const String8& displayName, bool secure);

+0 −20
Original line number Diff line number Diff line
@@ -115,26 +115,6 @@ status_t Client::createSurface(
                                 ownerUid, handle, gbp, &parent);
}

status_t Client::createWithSurfaceParent(const String8& name, uint32_t w, uint32_t h,
                                         PixelFormat format, uint32_t flags,
                                         const sp<IGraphicBufferProducer>& parent,
                                         int32_t windowType, int32_t ownerUid, sp<IBinder>* handle,
                                         sp<IGraphicBufferProducer>* gbp) {
    if (mFlinger->authenticateSurfaceTexture(parent) == false) {
        return BAD_VALUE;
    }

    const auto& layer = (static_cast<MonitoredProducer*>(parent.get()))->getLayer();
    if (layer == nullptr) {
        return BAD_VALUE;
    }

    sp<IBinder> parentHandle = layer->getHandle();

    return createSurface(name, w, h, format, flags, parentHandle, windowType, ownerUid, handle,
                         gbp);
}

status_t Client::destroySurface(const sp<IBinder>& handle) {
    return mFlinger->onLayerRemoved(this, handle);
}
Loading