Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#constants) \| [Inherited Methods](https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#inhmethods)

# MediaDrm.MetricsConstants

*** ** * ** ***


`
public
static
final

class
MediaDrm.MetricsConstants
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.MediaDrm.MetricsConstants |

<br />

*** ** * ** ***

Definitions for the metrics that are reported via the
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#CLOSE_SESSION_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#closeSession(byte[])` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#CLOSE_SESSION_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#closeSession(byte[])` calls. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#CLOSE_SESSION_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#closeSession(byte[])` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#EVENT_KEY_EXPIRED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])` calls of type KEY_EXPIRED occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#EVENT_KEY_NEEDED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])` calls of type KEY_NEEDED occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#EVENT_PROVISION_REQUIRED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])` calls of type PROVISION_REQUIRED occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#EVENT_SESSION_RECLAIMED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])` calls of type SESSION_RECLAIMED. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#EVENT_VENDOR_DEFINED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])` calls of type VENDOR_DEFINED. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_DEVICE_UNIQUE_ID_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#getPropertyByteArray(java.lang.String)` calls were made with the `https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID` value. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_DEVICE_UNIQUE_ID_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#getPropertyByteArray(java.lang.String)` calls with the `https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID` value. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_DEVICE_UNIQUE_ID_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#getPropertyByteArray(java.lang.String)` calls were made with the `https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID` value. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_KEY_REQUEST_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_KEY_REQUEST_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)` calls. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_KEY_REQUEST_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_KEY_REQUEST_OK_TIME_MICROS` Key to extract the average time in microseconds of calls to `https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)`. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_PROVISION_REQUEST_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#getProvisionRequest()` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_PROVISION_REQUEST_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#getProvisionRequest()` calls. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#GET_PROVISION_REQUEST_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#getProvisionRequest()` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#KEY_STATUS_EXPIRED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_EXPIRED` events that occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#KEY_STATUS_INTERNAL_ERROR_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_INTERNAL_ERROR` events that occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_OUTPUT_NOT_ALLOWED` events that occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#KEY_STATUS_PENDING_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_PENDING` events that occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#KEY_STATUS_USABLE_COUNT` Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_USABLE` events that occurred. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#OPEN_SESSION_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#openSession()` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#OPEN_SESSION_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#openSession()` calls. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#OPEN_SESSION_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#openSession()` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_KEY_RESPONSE_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_KEY_RESPONSE_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])` calls. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_KEY_RESPONSE_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_KEY_RESPONSE_OK_TIME_MICROS` Key to extract the average time in microseconds of calls to `https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])`. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_PROVISION_RESPONSE_ERROR_COUNT` Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#provideProvisionResponse(byte[])` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_PROVISION_RESPONSE_ERROR_LIST` Key to extract the list of error codes that were returned from `https://developer.android.com/reference/android/media/MediaDrm#provideProvisionResponse(byte[])` calls. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#PROVIDE_PROVISION_RESPONSE_OK_COUNT` Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#provideProvisionResponse(byte[])` calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#SESSION_END_TIMES_MS` Key to extract the end times of sessions. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/MediaDrm.MetricsConstants#SESSION_START_TIMES_MS` Key to extract the start times of sessions. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Constants

### CLOSE_SESSION_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String CLOSE_SESSION_ERROR_COUNT
```

Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#closeSession(byte[])` calls
from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.close_session.error.count"


### CLOSE_SESSION_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String CLOSE_SESSION_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#closeSession(byte[])` calls. The key is used to lookup the list
in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()`
call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.close_session.error.list"


### CLOSE_SESSION_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String CLOSE_SESSION_OK_COUNT
```

Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#closeSession(byte[])` calls
from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.close_session.ok.count"


### EVENT_KEY_EXPIRED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String EVENT_KEY_EXPIRED_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])`
calls of type KEY_EXPIRED occurred. The count is
extracted from the `https://developer.android.com/reference/android/os/PersistableBundle` returned from a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.event.KEY_EXPIRED.count"


### EVENT_KEY_NEEDED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String EVENT_KEY_NEEDED_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])`
calls of type KEY_NEEDED occurred. The count is
extracted from the `https://developer.android.com/reference/android/os/PersistableBundle` returned from a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.event.KEY_NEEDED.count"


### EVENT_PROVISION_REQUIRED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String EVENT_PROVISION_REQUIRED_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])`
calls of type PROVISION_REQUIRED occurred. The count is
extracted from the `https://developer.android.com/reference/android/os/PersistableBundle` returned from a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.event.PROVISION_REQUIRED.count"


### EVENT_SESSION_RECLAIMED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String EVENT_SESSION_RECLAIMED_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])`
calls of type SESSION_RECLAIMED. The count is
extracted from the `https://developer.android.com/reference/android/os/PersistableBundle` returned from a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.event.SESSION_RECLAIMED.count"


### EVENT_VENDOR_DEFINED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String EVENT_VENDOR_DEFINED_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.OnEventListener#onEvent(android.media.MediaDrm,%20byte[],%20int,%20int,%20byte[])`
calls of type VENDOR_DEFINED. The count is
extracted from the `https://developer.android.com/reference/android/os/PersistableBundle` returned from a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.event.VENDOR_DEFINED.count"


### GET_DEVICE_UNIQUE_ID_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_DEVICE_UNIQUE_ID_ERROR_COUNT
```

Key to extract the number of failed
`https://developer.android.com/reference/android/media/MediaDrm#getPropertyByteArray(java.lang.String)` calls were made with the
`https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID` value. The key is used to lookup
the value in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_device_unique_id.error.count"


### GET_DEVICE_UNIQUE_ID_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_DEVICE_UNIQUE_ID_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#getPropertyByteArray(java.lang.String)` calls with the
`https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID` value. The key is used to lookup
the list in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_device_unique_id.error.list"


### GET_DEVICE_UNIQUE_ID_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_DEVICE_UNIQUE_ID_OK_COUNT
```

Key to extract the number of successful
`https://developer.android.com/reference/android/media/MediaDrm#getPropertyByteArray(java.lang.String)` calls were made with the
`https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID` value. The key is used to lookup
the value in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_device_unique_id.ok.count"


### GET_KEY_REQUEST_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_KEY_REQUEST_ERROR_COUNT
```

Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)`
calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_key_request.error.count"


### GET_KEY_REQUEST_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_KEY_REQUEST_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)` calls. The key is used to lookup the list
in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()`
call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_key_request.error.list"


### GET_KEY_REQUEST_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_KEY_REQUEST_OK_COUNT
```

Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)` calls
from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_key_request.ok.count"


### GET_KEY_REQUEST_OK_TIME_MICROS

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_KEY_REQUEST_OK_TIME_MICROS
```

Key to extract the average time in microseconds of calls to
`https://developer.android.com/reference/android/media/MediaDrm#getKeyRequest(byte[],%20byte[],%20java.lang.String,%20int,%20java.util.HashMap<java.lang.String,java.lang.String>)`. The value is retrieved from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()`.
The time is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_key_request.ok.average_time_micros"


### GET_PROVISION_REQUEST_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_PROVISION_REQUEST_ERROR_COUNT
```

Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#getProvisionRequest()`
calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_provision_request.error.count"


### GET_PROVISION_REQUEST_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_PROVISION_REQUEST_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#getProvisionRequest()` calls. The key is used to lookup the
list in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_provision_request.error.list"


### GET_PROVISION_REQUEST_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String GET_PROVISION_REQUEST_OK_COUNT
```

Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#getProvisionRequest()`
calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.get_provision_request.ok.count"


### KEY_STATUS_EXPIRED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_STATUS_EXPIRED_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_EXPIRED` events
that occurred. The count is extracted from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.key_status.EXPIRED.count"


### KEY_STATUS_INTERNAL_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_STATUS_INTERNAL_ERROR_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_INTERNAL_ERROR`
events that occurred. The count is extracted from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.key_status.INTERNAL_ERROR.count"


### KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT
```

Key to extract the count of
`https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_OUTPUT_NOT_ALLOWED` events that occurred.
The count is extracted from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.key_status_change.OUTPUT_NOT_ALLOWED.count"


### KEY_STATUS_PENDING_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_STATUS_PENDING_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_PENDING`
events that occurred. The count is extracted from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.key_status_change.PENDING.count"


### KEY_STATUS_USABLE_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String KEY_STATUS_USABLE_COUNT
```

Key to extract the count of `https://developer.android.com/reference/android/media/MediaDrm.KeyStatus#STATUS_USABLE`
events that occurred. The count is extracted from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.key_status_change.USABLE.count"


### OPEN_SESSION_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String OPEN_SESSION_ERROR_COUNT
```

Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#openSession()` calls
from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.open_session.error.count"


### OPEN_SESSION_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String OPEN_SESSION_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#openSession()` calls. The key is used to lookup the list
in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()`
call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.open_session.error.list"


### OPEN_SESSION_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String OPEN_SESSION_OK_COUNT
```

Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#openSession()` calls
from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.open_session.ok.count"


### PROVIDE_KEY_RESPONSE_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_KEY_RESPONSE_ERROR_COUNT
```

Key to extract the number of failed `https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])`
calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_key_response.error.count"


### PROVIDE_KEY_RESPONSE_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_KEY_RESPONSE_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])` calls. The key is used to lookup the
list in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_key_response.error.list"


### PROVIDE_KEY_RESPONSE_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_KEY_RESPONSE_OK_COUNT
```

Key to extract the number of successful `https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])`
calls from the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_key_response.ok.count"


### PROVIDE_KEY_RESPONSE_OK_TIME_MICROS

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_KEY_RESPONSE_OK_TIME_MICROS
```

Key to extract the average time in microseconds of calls to
`https://developer.android.com/reference/android/media/MediaDrm#provideKeyResponse(byte[],%20byte[])`. The value is retrieved from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned from `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()`.
The time is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_key_response.ok.average_time_micros"


### PROVIDE_PROVISION_RESPONSE_ERROR_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_PROVISION_RESPONSE_ERROR_COUNT
```

Key to extract the number of failed
`https://developer.android.com/reference/android/media/MediaDrm#provideProvisionResponse(byte[])` calls from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_provision_response.error.count"


### PROVIDE_PROVISION_RESPONSE_ERROR_LIST

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_PROVISION_RESPONSE_ERROR_LIST
```

Key to extract the list of error codes that were returned from
`https://developer.android.com/reference/android/media/MediaDrm#provideProvisionResponse(byte[])` calls. The key is used to lookup
the list in the `https://developer.android.com/reference/android/os/PersistableBundle` returned by a
`https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The list is an array of Long values
(`https://developer.android.com/reference/android/os/BaseBundle#getLongArray(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_provision_response.error.list"


### PROVIDE_PROVISION_RESPONSE_OK_COUNT

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String PROVIDE_PROVISION_RESPONSE_OK_COUNT
```

Key to extract the number of successful
`https://developer.android.com/reference/android/media/MediaDrm#provideProvisionResponse(byte[])` calls from the
`https://developer.android.com/reference/android/os/PersistableBundle` returned by a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The count is a Long value (`https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)`).

<br />

Constant Value:

"drm.mediadrm.provide_provision_response.ok.count"


### SESSION_END_TIMES_MS

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String SESSION_END_TIMES_MS
```

Key to extract the end times of sessions. Times are
represented as milliseconds since epoch (1970-01-01T00:00:00Z).
The end times are returned from the `https://developer.android.com/reference/android/os/PersistableBundle`
from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The end times are returned as another `https://developer.android.com/reference/android/os/PersistableBundle`
containing the session ids as keys and the end times as long
values. Use `https://developer.android.com/reference/android/os/BaseBundle#keySet()` to get the list of
session ids, and then `https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)` to get
the end time for each session.

<br />

Constant Value:

"drm.mediadrm.session_end_times_ms"


### SESSION_START_TIMES_MS

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String SESSION_START_TIMES_MS
```

Key to extract the start times of sessions. Times are
represented as milliseconds since epoch (1970-01-01T00:00:00Z).
The start times are returned from the `https://developer.android.com/reference/android/os/PersistableBundle`
from a `https://developer.android.com/reference/android/media/MediaDrm#getMetrics()` call.
The start times are returned as another `https://developer.android.com/reference/android/os/PersistableBundle`
containing the session ids as keys and the start times as long
values. Use `https://developer.android.com/reference/android/os/BaseBundle#keySet()` to get the list of
session ids, and then `https://developer.android.com/reference/android/os/BaseBundle#getLong(java.lang.String)` to get
the start time for each session.

<br />

Constant Value:

"drm.mediadrm.session_start_times_ms"