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

Commit a6d72095 authored by Ronghua Wu's avatar Ronghua Wu
Browse files

drm: add EVENT_SESSION_RECLAIMED for resource manager.

Bug: 19265536
Change-Id: Ifa15a4c7d3a7c20cb00bd4aefb57d239c0efaafa
parent 1ea57363
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15057,6 +15057,7 @@ package android.media {
    field public static final int EVENT_KEY_EXPIRED = 3; // 0x3
    field public static final int EVENT_KEY_REQUIRED = 2; // 0x2
    field public static final int EVENT_PROVISION_REQUIRED = 1; // 0x1
    field public static final int EVENT_SESSION_RECLAIMED = 5; // 0x5
    field public static final int EVENT_VENDOR_DEFINED = 4; // 0x4
    field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
    field public static final int KEY_TYPE_RELEASE = 3; // 0x3
+1 −0
Original line number Diff line number Diff line
@@ -16051,6 +16051,7 @@ package android.media {
    field public static final int EVENT_KEY_EXPIRED = 3; // 0x3
    field public static final int EVENT_KEY_REQUIRED = 2; // 0x2
    field public static final int EVENT_PROVISION_REQUIRED = 1; // 0x1
    field public static final int EVENT_SESSION_RECLAIMED = 5; // 0x5
    field public static final int EVENT_VENDOR_DEFINED = 4; // 0x4
    field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
    field public static final int KEY_TYPE_RELEASE = 3; // 0x3
+6 −0
Original line number Diff line number Diff line
@@ -277,6 +277,12 @@ public final class MediaDrm {
     */
    public static final int EVENT_VENDOR_DEFINED = 4;

    /**
     * This event indicates that a session opened by the app has been reclaimed by the resource
     * manager.
     */
    public static final int EVENT_SESSION_RECLAIMED = 5;

    private static final int DRM_EVENT = 200;

    private class EventHandler extends Handler
+6 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ struct EventTypes {
    jint kEventKeyRequired;
    jint kEventKeyExpired;
    jint kEventVendorDefined;
    jint kEventSessionReclaimed;
} gEventTypes;

struct KeyTypes {
@@ -194,6 +195,9 @@ void JNIDrmListener::notify(DrmPlugin::EventType eventType, int extra,
        case DrmPlugin::kDrmPluginEventVendorDefined:
            jeventType = gEventTypes.kEventVendorDefined;
            break;
        case DrmPlugin::kDrmPluginEventSessionReclaimed:
            jeventType = gEventTypes.kEventSessionReclaimed;
            break;
        default:
            ALOGE("Invalid event DrmPlugin::EventType %d, ignored", (int)eventType);
            return;
@@ -565,6 +569,8 @@ static void android_media_MediaDrm_native_init(JNIEnv *env) {
    gEventTypes.kEventKeyExpired = env->GetStaticIntField(clazz, field);
    GET_STATIC_FIELD_ID(field, clazz, "EVENT_VENDOR_DEFINED", "I");
    gEventTypes.kEventVendorDefined = env->GetStaticIntField(clazz, field);
    GET_STATIC_FIELD_ID(field, clazz, "EVENT_SESSION_RECLAIMED", "I");
    gEventTypes.kEventSessionReclaimed = env->GetStaticIntField(clazz, field);

    GET_STATIC_FIELD_ID(field, clazz, "KEY_TYPE_STREAMING", "I");
    gKeyTypes.kKeyTypeStreaming = env->GetStaticIntField(clazz, field);