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

Commit ddd1c635 authored by Jeff Tinker's avatar Jeff Tinker Committed by android-build-merger
Browse files

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

am: db15c4b6

Change-Id: Ib2b3078f95637fe3c4f4f6e0bd73498374f945f5
parents ff3e8745 db15c4b6
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;