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

Commit ddef08e7 authored by Jeff Tinker's avatar Jeff Tinker Committed by Android (Google) Code Review
Browse files

Merge "Fix failure to check HIDL return status" into oc-dr1-dev

parents dcca7ebd 81b06822
Loading
Loading
Loading
Loading
+23 −11
Original line number Diff line number Diff line
@@ -395,9 +395,12 @@ status_t DrmHal::createPlugin(const uint8_t uuid[16],

    if (mPlugin == NULL) {
        mInitCheck = ERROR_UNSUPPORTED;
    } else {
        if (!mPlugin->setListener(this).isOk()) {
            mInitCheck = DEAD_OBJECT;
        } else {
            mInitCheck = OK;
        mPlugin->setListener(this);
        }
    }

    return mInitCheck;
@@ -411,12 +414,14 @@ status_t DrmHal::destroyPlugin() {
    }

    setListener(NULL);
    mInitCheck = NO_INIT;

    if (mPlugin != NULL) {
        mPlugin->setListener(NULL);
        if (!mPlugin->setListener(NULL).isOk()) {
            mInitCheck = DEAD_OBJECT;
        }
    }
    mPlugin.clear();
    mInitCheck = NO_INIT;

    return OK;
}

@@ -472,12 +477,15 @@ status_t DrmHal::closeSession(Vector<uint8_t> const &sessionId) {
        return mInitCheck;
    }

    Status status = mPlugin->closeSession(toHidlVec(sessionId));
    Return<Status> status = mPlugin->closeSession(toHidlVec(sessionId));
    if (status.isOk()) {
        if (status == Status::OK) {
            DrmSessionManager::Instance()->removeSession(sessionId);
        }
        return toStatusT(status);
    }
    return DEAD_OBJECT;
}

status_t DrmHal::getKeyRequest(Vector<uint8_t> const &sessionId,
        Vector<uint8_t> const &initData, String8 const &mimeType,
@@ -962,12 +970,16 @@ status_t DrmHal::signRSA(Vector<uint8_t> const &sessionId,
void DrmHal::binderDied(const wp<IBinder> &the_late_who __unused)
{
    Mutex::Autolock autoLock(mLock);

    setListener(NULL);
    mInitCheck = NO_INIT;

    if (mPlugin != NULL) {
        mPlugin->setListener(NULL);
        if (!mPlugin->setListener(NULL).isOk()) {
            mInitCheck = DEAD_OBJECT;
        }
    }
    mPlugin.clear();
    mInitCheck = NO_INIT;
}

void DrmHal::writeByteArray(Parcel &obj, hidl_vec<uint8_t> const &vec)