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

Commit c9c7e25a authored by Marco Nelissen's avatar Marco Nelissen
Browse files

Add method to get redirected Uri

Change-Id: Id8aac1077c3de1bb1f58bfcfcca93d685abe9b79
parent 3a005b3b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ struct IMediaHTTPConnection : public IInterface {
    virtual ssize_t readAt(off64_t offset, void *data, size_t size) = 0;
    virtual off64_t getSize() = 0;
    virtual status_t getMIMEType(String8 *mimeType) = 0;
    virtual status_t getUri(String8 *uri) = 0;

private:
    DISALLOW_EVIL_CONSTRUCTORS(IMediaHTTPConnection);
+21 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ enum {
    READ_AT,
    GET_SIZE,
    GET_MIME_TYPE,
    GET_URI
};

struct BpMediaHTTPConnection : public BpInterface<IMediaHTTPConnection> {
@@ -147,6 +148,26 @@ struct BpMediaHTTPConnection : public BpInterface<IMediaHTTPConnection> {
        return OK;
    }

    virtual status_t getUri(String8 *uri) {
        *uri = String8("");

        Parcel data, reply;
        data.writeInterfaceToken(
                IMediaHTTPConnection::getInterfaceDescriptor());

        remote()->transact(GET_URI, data, &reply);

        int32_t exceptionCode = reply.readExceptionCode();

        if (exceptionCode) {
            return UNKNOWN_ERROR;
        }

        *uri = String8(reply.readString16());

        return OK;
    }

private:
    sp<IMemory> mMemory;
};
+4 −0
Original line number Diff line number Diff line
@@ -171,6 +171,10 @@ void MediaHTTP::getDrmInfo(
}

String8 MediaHTTP::getUri() {
    String8 uri;
    if (OK == mHTTPConnection->getUri(&uri)) {
        return uri;
    }
    return String8(mLastURI.c_str());
}