From a6d72095eda4163a70c0ba07cb74a1abac40fe48 Mon Sep 17 00:00:00 2001 From: Ronghua Wu Date: Wed, 4 Mar 2015 11:16:02 -0800 Subject: [PATCH] drm: add EVENT_SESSION_RECLAIMED for resource manager. Bug: 19265536 Change-Id: Ifa15a4c7d3a7c20cb00bd4aefb57d239c0efaafa --- api/current.txt | 1 + api/system-current.txt | 1 + media/java/android/media/MediaDrm.java | 6 ++++++ media/jni/android_media_MediaDrm.cpp | 6 ++++++ 4 files changed, 14 insertions(+) diff --git a/api/current.txt b/api/current.txt index 118223c7945d5..5f513caff61b0 100644 --- a/api/current.txt +++ b/api/current.txt @@ -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 diff --git a/api/system-current.txt b/api/system-current.txt index 903c40c95a26e..16d6234ee2239 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -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 diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java index 78a5abe5f860b..12e000c7781dd 100644 --- a/media/java/android/media/MediaDrm.java +++ b/media/java/android/media/MediaDrm.java @@ -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 diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp index d9de7a9435f4a..a3447b8e6a3c6 100644 --- a/media/jni/android_media_MediaDrm.cpp +++ b/media/jni/android_media_MediaDrm.cpp @@ -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);