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

Commit 35751d35 authored by Dan Stoza's avatar Dan Stoza Committed by Android Git Automerger
Browse files

am 5b23b5bf: Merge "libgui: Add getConsumerName" into mnc-dev

* commit '5b23b5bf':
  libgui: Add getConsumerName
parents 6f33fbc8 5b23b5bf
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -178,6 +178,9 @@ public:
    // See IGraphicBufferProducer::setGenerationNumber
    // See IGraphicBufferProducer::setGenerationNumber
    virtual status_t setGenerationNumber(uint32_t generationNumber);
    virtual status_t setGenerationNumber(uint32_t generationNumber);


    // See IGraphicBufferProducer::getConsumerName
    virtual String8 getConsumerName() const override;

private:
private:
    // This is required by the IBinder::DeathRecipient interface
    // This is required by the IBinder::DeathRecipient interface
    virtual void binderDied(const wp<IBinder>& who);
    virtual void binderDied(const wp<IBinder>& who);
+3 −0
Original line number Original line Diff line number Diff line
@@ -480,6 +480,9 @@ public:
    // affected and will retain their current generation number. The generation
    // affected and will retain their current generation number. The generation
    // number defaults to 0.
    // number defaults to 0.
    virtual status_t setGenerationNumber(uint32_t generationNumber) = 0;
    virtual status_t setGenerationNumber(uint32_t generationNumber) = 0;

    // Returns the name of the connected consumer.
    virtual String8 getConsumerName() const = 0;
};
};


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
+3 −0
Original line number Original line Diff line number Diff line
@@ -106,6 +106,9 @@ public:
     * See IGBP::setGenerationNumber for more information. */
     * See IGBP::setGenerationNumber for more information. */
    status_t setGenerationNumber(uint32_t generationNumber);
    status_t setGenerationNumber(uint32_t generationNumber);


    // See IGraphicBufferProducer::getConsumerName
    String8 getConsumerName() const;

protected:
protected:
    virtual ~Surface();
    virtual ~Surface();


+6 −0
Original line number Original line Diff line number Diff line
@@ -1089,6 +1089,12 @@ status_t BufferQueueProducer::setGenerationNumber(uint32_t generationNumber) {
    return NO_ERROR;
    return NO_ERROR;
}
}


String8 BufferQueueProducer::getConsumerName() const {
    ATRACE_CALL();
    BQ_LOGV("getConsumerName: %s", mConsumerName.string());
    return mConsumerName;
}

void BufferQueueProducer::binderDied(const wp<android::IBinder>& /* who */) {
void BufferQueueProducer::binderDied(const wp<android::IBinder>& /* who */) {
    // If we're here, it means that a producer we were connected to died.
    // If we're here, it means that a producer we were connected to died.
    // We're guaranteed that we are still connected to it because we remove
    // We're guaranteed that we are still connected to it because we remove
+17 −0
Original line number Original line Diff line number Diff line
@@ -48,6 +48,7 @@ enum {
    ALLOCATE_BUFFERS,
    ALLOCATE_BUFFERS,
    ALLOW_ALLOCATION,
    ALLOW_ALLOCATION,
    SET_GENERATION_NUMBER,
    SET_GENERATION_NUMBER,
    GET_CONSUMER_NAME,
};
};


class BpGraphicBufferProducer : public BpInterface<IGraphicBufferProducer>
class BpGraphicBufferProducer : public BpInterface<IGraphicBufferProducer>
@@ -296,6 +297,17 @@ public:
        }
        }
        return result;
        return result;
    }
    }

    virtual String8 getConsumerName() const {
        Parcel data, reply;
        data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor());
        status_t result = remote()->transact(GET_CONSUMER_NAME, data, &reply);
        if (result != NO_ERROR) {
            ALOGE("getConsumerName failed to transact: %d", result);
            return String8("TransactFailed");
        }
        return reply.readString8();
    }
};
};


// Out-of-line virtual method definition to trigger vtable emission in this
// Out-of-line virtual method definition to trigger vtable emission in this
@@ -467,6 +479,11 @@ status_t BnGraphicBufferProducer::onTransact(
            reply->writeInt32(result);
            reply->writeInt32(result);
            return NO_ERROR;
            return NO_ERROR;
        }
        }
        case GET_CONSUMER_NAME: {
            CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
            reply->writeString8(getConsumerName());
            return NO_ERROR;
        }
    }
    }
    return BBinder::onTransact(code, data, reply, flags);
    return BBinder::onTransact(code, data, reply, flags);
}
}
Loading