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

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

Merge "Revert "Fix resource leaks in drm hal"" into oc-dev

parents 1d619f74 e3b6ae14
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ using ::android::sp;
struct CryptoPlugin : public ICryptoPlugin {
    CryptoPlugin(android::CryptoPlugin *plugin) : mLegacyPlugin(plugin) {}

    virtual ~CryptoPlugin() {delete mLegacyPlugin;}
    ~CryptoPlugin() {delete mLegacyPlugin;}

    // Methods from ::android::hardware::drm::V1_0::ICryptoPlugin
    // follow.
+1 −1
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
` *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
+12 −24
Original line number Diff line number Diff line
@@ -327,27 +327,24 @@ namespace implementation {

    Return<void> DrmPlugin::sendEvent(EventType eventType,
            const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& data) {
        auto listener = mListener.promote();
        if (listener != nullptr) {
            listener->sendEvent(eventType, sessionId, data);
        if (mListener != nullptr) {
            mListener->sendEvent(eventType, sessionId, data);
        }
        return Void();
    }

    Return<void> DrmPlugin::sendExpirationUpdate(
            const hidl_vec<uint8_t>& sessionId, int64_t expiryTimeInMS) {
        auto listener = mListener.promote();
        if (listener != nullptr) {
            listener->sendExpirationUpdate(sessionId, expiryTimeInMS);
        if (mListener != nullptr) {
            mListener->sendExpirationUpdate(sessionId, expiryTimeInMS);
        }
        return Void();
    }

    Return<void> DrmPlugin::sendKeysChange(const hidl_vec<uint8_t>& sessionId,
            const hidl_vec<KeyStatus>& keyStatusList, bool hasNewUsableKey) {
        auto listener = mListener.promote();
        if (listener != nullptr) {
            listener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
        if (mListener != nullptr) {
            mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
        }
        return Void();
    }
@@ -383,21 +380,15 @@ namespace implementation {
        }
        if (sendEvent) {
            Vector<uint8_t> emptyVector;
            auto listener = mListener.promote();
            if (listener != nullptr) {
                listener->sendEvent(eventType,
            mListener->sendEvent(eventType,
                    toHidlVec(sessionId == NULL ? emptyVector: *sessionId),
                    toHidlVec(data == NULL ? emptyVector: *data));
        }
    }
    }

    void DrmPlugin::sendExpirationUpdate(Vector<uint8_t> const *sessionId,
            int64_t expiryTimeInMS) {
        auto listener = mListener.promote();
        if (listener != nullptr) {
            listener->sendExpirationUpdate(toHidlVec(*sessionId), expiryTimeInMS);
        }
        mListener->sendExpirationUpdate(toHidlVec(*sessionId), expiryTimeInMS);
    }

    void DrmPlugin::sendKeysChange(Vector<uint8_t> const *sessionId,
@@ -433,12 +424,9 @@ namespace implementation {
            keyStatus.keyId = toHidlVec(legacyKeyStatus.mKeyId);
            keyStatusVec.push_back(keyStatus);
        }
        auto listener = mListener.promote();
        if (listener != nullptr) {
            listener->sendKeysChange(toHidlVec(*sessionId),
        mListener->sendKeysChange(toHidlVec(*sessionId),
                toHidlVec(keyStatusVec), hasNewUsableKey);
    }
    }

}  // namespace implementation
}  // namespace V1_0
+2 −2
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ using ::android::sp;
struct DrmPlugin : public IDrmPlugin, android::DrmPluginListener {

    DrmPlugin(android::DrmPlugin *plugin) : mLegacyPlugin(plugin) {}
    virtual ~DrmPlugin() {delete mLegacyPlugin;}
    ~DrmPlugin() {delete mLegacyPlugin;}

    // Methods from ::android::hardware::drm::V1_0::IDrmPlugin follow.

@@ -153,7 +153,7 @@ struct DrmPlugin : public IDrmPlugin, android::DrmPluginListener {

private:
    android::DrmPlugin *mLegacyPlugin;
    wp<IDrmPluginListener> mListener;
    sp<IDrmPluginListener> mListener;

    DrmPlugin() = delete;
    DrmPlugin(const DrmPlugin &) = delete;