Merge "Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls" into honeycomb-mr1
This commit is contained in:
@ -73375,8 +73375,6 @@
|
||||
</parameter>
|
||||
<parameter name="event" type="android.drm.DrmEvent">
|
||||
</parameter>
|
||||
<parameter name="attributes" type="java.util.HashMap<java.lang.String, java.lang.Object>">
|
||||
</parameter>
|
||||
</method>
|
||||
</interface>
|
||||
<interface name="DrmManagerClient.OnInfoListener"
|
||||
|
@ -72665,6 +72665,22 @@
|
||||
<parameter name="message" type="java.lang.String">
|
||||
</parameter>
|
||||
</constructor>
|
||||
<constructor name="DrmErrorEvent"
|
||||
type="android.drm.DrmErrorEvent"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="uniqueId" type="int">
|
||||
</parameter>
|
||||
<parameter name="type" type="int">
|
||||
</parameter>
|
||||
<parameter name="message" type="java.lang.String">
|
||||
</parameter>
|
||||
<parameter name="attributes" type="java.util.HashMap<java.lang.String, java.lang.Object>">
|
||||
</parameter>
|
||||
</constructor>
|
||||
<field name="TYPE_ACQUIRE_DRM_INFO_FAILED"
|
||||
type="int"
|
||||
transient="false"
|
||||
@ -72775,7 +72791,36 @@
|
||||
</parameter>
|
||||
<parameter name="message" type="java.lang.String">
|
||||
</parameter>
|
||||
<parameter name="attributes" type="java.util.HashMap<java.lang.String, java.lang.Object>">
|
||||
</parameter>
|
||||
</constructor>
|
||||
<constructor name="DrmEvent"
|
||||
type="android.drm.DrmEvent"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="protected"
|
||||
>
|
||||
<parameter name="uniqueId" type="int">
|
||||
</parameter>
|
||||
<parameter name="type" type="int">
|
||||
</parameter>
|
||||
<parameter name="message" type="java.lang.String">
|
||||
</parameter>
|
||||
</constructor>
|
||||
<method name="getAttribute"
|
||||
return="java.lang.Object"
|
||||
abstract="false"
|
||||
native="false"
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="key" type="java.lang.String">
|
||||
</parameter>
|
||||
</method>
|
||||
<method name="getMessage"
|
||||
return="java.lang.String"
|
||||
abstract="false"
|
||||
@ -72809,6 +72854,17 @@
|
||||
visibility="public"
|
||||
>
|
||||
</method>
|
||||
<field name="DRM_INFO_OBJECT"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
volatile="false"
|
||||
value=""drm_info_object""
|
||||
static="true"
|
||||
final="true"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="DRM_INFO_STATUS_OBJECT"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
@ -72985,6 +73041,22 @@
|
||||
<parameter name="message" type="java.lang.String">
|
||||
</parameter>
|
||||
</constructor>
|
||||
<constructor name="DrmInfoEvent"
|
||||
type="android.drm.DrmInfoEvent"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="uniqueId" type="int">
|
||||
</parameter>
|
||||
<parameter name="type" type="int">
|
||||
</parameter>
|
||||
<parameter name="message" type="java.lang.String">
|
||||
</parameter>
|
||||
<parameter name="attributes" type="java.util.HashMap<java.lang.String, java.lang.Object>">
|
||||
</parameter>
|
||||
</constructor>
|
||||
<field name="TYPE_ACCOUNT_ALREADY_REGISTERED"
|
||||
type="int"
|
||||
transient="false"
|
||||
@ -73767,8 +73839,6 @@
|
||||
</parameter>
|
||||
<parameter name="event" type="android.drm.DrmEvent">
|
||||
</parameter>
|
||||
<parameter name="attributes" type="java.util.HashMap<java.lang.String, java.lang.Object>">
|
||||
</parameter>
|
||||
</method>
|
||||
</interface>
|
||||
<interface name="DrmManagerClient.OnInfoListener"
|
||||
@ -267075,7 +267145,7 @@
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="t" type="T">
|
||||
<parameter name="arg0" type="T">
|
||||
</parameter>
|
||||
</method>
|
||||
</interface>
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
package android.drm;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* This is an entity class which would be passed to caller in
|
||||
* {@link DrmManagerClient.OnErrorListener#onError(DrmManagerClient, DrmErrorEvent)}
|
||||
@ -62,11 +64,25 @@ public class DrmErrorEvent extends DrmEvent {
|
||||
* constructor to create DrmErrorEvent object with given parameters
|
||||
*
|
||||
* @param uniqueId Unique session identifier
|
||||
* @param type Type of information
|
||||
* @param type Type of the event. It could be one of the types defined above
|
||||
* @param message Message description
|
||||
*/
|
||||
public DrmErrorEvent(int uniqueId, int type, String message) {
|
||||
super(uniqueId, type, message);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor to create DrmErrorEvent object with given parameters
|
||||
*
|
||||
* @param uniqueId Unique session identifier
|
||||
* @param type Type of the event. It could be one of the types defined above
|
||||
* @param message Message description
|
||||
* @param attributes Attributes for extensible information. Could be any
|
||||
* information provided by the plugin
|
||||
*/
|
||||
public DrmErrorEvent(int uniqueId, int type, String message,
|
||||
HashMap<String, Object> attributes) {
|
||||
super(uniqueId, type, message, attributes);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
package android.drm;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* This is the base class which would be used to notify the caller
|
||||
* about any event occurred in DRM framework.
|
||||
@ -33,11 +35,36 @@ public class DrmEvent {
|
||||
public static final int TYPE_DRM_INFO_PROCESSED = 1002;
|
||||
|
||||
public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object";
|
||||
public static final String DRM_INFO_OBJECT = "drm_info_object";
|
||||
|
||||
private final int mUniqueId;
|
||||
private final int mType;
|
||||
private String mMessage = "";
|
||||
|
||||
private HashMap<String, Object> mAttributes = new HashMap<String, Object>();
|
||||
|
||||
/**
|
||||
* constructor for DrmEvent class
|
||||
*
|
||||
* @param uniqueId Unique session identifier
|
||||
* @param type Type of information
|
||||
* @param message Message description
|
||||
* @param attributes Attributes for extensible information
|
||||
*/
|
||||
protected DrmEvent(int uniqueId, int type, String message,
|
||||
HashMap<String, Object> attributes) {
|
||||
mUniqueId = uniqueId;
|
||||
mType = type;
|
||||
|
||||
if (null != message) {
|
||||
mMessage = message;
|
||||
}
|
||||
|
||||
if (null != attributes) {
|
||||
mAttributes = attributes;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor for DrmEvent class
|
||||
*
|
||||
@ -80,5 +107,15 @@ public class DrmEvent {
|
||||
public String getMessage() {
|
||||
return mMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the attribute corresponding to the specified key
|
||||
*
|
||||
* @return one of the attributes or null if no mapping for
|
||||
* the key is found
|
||||
*/
|
||||
public Object getAttribute(String key) {
|
||||
return mAttributes.get(key);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
package android.drm;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* This is an entity class which would be passed to caller in
|
||||
* {@link DrmManagerClient.OnInfoListener#onInfo(DrmManagerClient, DrmInfoEvent)}
|
||||
@ -54,11 +56,25 @@ public class DrmInfoEvent extends DrmEvent {
|
||||
* constructor to create DrmInfoEvent object with given parameters
|
||||
*
|
||||
* @param uniqueId Unique session identifier
|
||||
* @param type Type of information
|
||||
* @param type Type of the event. It could be one of the types defined above
|
||||
* @param message Message description
|
||||
*/
|
||||
public DrmInfoEvent(int uniqueId, int type, String message) {
|
||||
super(uniqueId, type, message);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor to create DrmInfoEvent object with given parameters
|
||||
*
|
||||
* @param uniqueId Unique session identifier
|
||||
* @param type Type of the event. It could be one of the types defined above
|
||||
* @param message Message description
|
||||
* @param attributes Attributes for extensible information. Could be any
|
||||
* information provided by the plugin
|
||||
*/
|
||||
public DrmInfoEvent(int uniqueId, int type, String message,
|
||||
HashMap<String, Object> attributes) {
|
||||
super(uniqueId, type, message, attributes);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,10 +81,8 @@ public class DrmManagerClient {
|
||||
*
|
||||
* @param client DrmManagerClient instance
|
||||
* @param event instance which wraps type and message
|
||||
* @param attributes resultant values in key and value pair.
|
||||
*/
|
||||
public void onEvent(DrmManagerClient client, DrmEvent event,
|
||||
HashMap<String, Object> attributes);
|
||||
public void onEvent(DrmManagerClient client, DrmEvent event);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -128,12 +126,17 @@ public class DrmManagerClient {
|
||||
case ACTION_PROCESS_DRM_INFO: {
|
||||
final DrmInfo drmInfo = (DrmInfo) msg.obj;
|
||||
DrmInfoStatus status = _processDrmInfo(mUniqueId, drmInfo);
|
||||
|
||||
attributes.put(DrmEvent.DRM_INFO_STATUS_OBJECT, status);
|
||||
attributes.put(DrmEvent.DRM_INFO_OBJECT, drmInfo);
|
||||
|
||||
if (null != status && DrmInfoStatus.STATUS_OK == status.statusCode) {
|
||||
attributes.put(DrmEvent.DRM_INFO_STATUS_OBJECT, status);
|
||||
event = new DrmEvent(mUniqueId, getEventType(status.infoType), null);
|
||||
event = new DrmEvent(mUniqueId,
|
||||
getEventType(status.infoType), null, attributes);
|
||||
} else {
|
||||
int infoType = (null != status) ? status.infoType : drmInfo.getInfoType();
|
||||
error = new DrmErrorEvent(mUniqueId, getErrorType(infoType), null);
|
||||
error = new DrmErrorEvent(mUniqueId,
|
||||
getErrorType(infoType), null, attributes);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -151,7 +154,7 @@ public class DrmManagerClient {
|
||||
return;
|
||||
}
|
||||
if (null != mOnEventListener && null != event) {
|
||||
mOnEventListener.onEvent(DrmManagerClient.this, event, attributes);
|
||||
mOnEventListener.onEvent(DrmManagerClient.this, event);
|
||||
}
|
||||
if (null != mOnErrorListener && null != error) {
|
||||
mOnErrorListener.onError(DrmManagerClient.this, error);
|
||||
|
Reference in New Issue
Block a user