summaryrefslogtreecommitdiff
path: root/media/java/android/media/metrics/PlaybackMetrics.java
diff options
context:
space:
mode:
Diffstat (limited to 'media/java/android/media/metrics/PlaybackMetrics.java')
-rw-r--r--media/java/android/media/metrics/PlaybackMetrics.java59
1 files changed, 33 insertions, 26 deletions
diff --git a/media/java/android/media/metrics/PlaybackMetrics.java b/media/java/android/media/metrics/PlaybackMetrics.java
index 7e7f44a97b9c..5f606a0a8ed0 100644
--- a/media/java/android/media/metrics/PlaybackMetrics.java
+++ b/media/java/android/media/metrics/PlaybackMetrics.java
@@ -60,15 +60,13 @@ public final class PlaybackMetrics implements Parcelable {
public static final int STREAM_TYPE_SS = 5;
/** Unknown playback type. */
- // TODO: change the PLAYBACK_TYPE_ values
- /** @hide */
public static final int PLAYBACK_TYPE_UNKNOWN = 0;
/** VOD (Video on Demand) playback type. */
- public static final int PLAYBACK_TYPE_VOD = 0;
+ public static final int PLAYBACK_TYPE_VOD = 1;
/** Live playback type. */
- public static final int PLAYBACK_TYPE_LIVE = 1;
+ public static final int PLAYBACK_TYPE_LIVE = 2;
/** Other playback type. */
- public static final int PLAYBACK_TYPE_OTHER = 2;
+ public static final int PLAYBACK_TYPE_OTHER = 3;
/** DRM is not used. */
public static final int DRM_TYPE_NONE = 0;
@@ -86,15 +84,13 @@ public final class PlaybackMetrics implements Parcelable {
public static final int DRM_TYPE_CLEARKEY = 6;
/** Unknown content type. */
- // TODO: change the CONTENT_TYPE_ values
- /** @hide */
public static final int CONTENT_TYPE_UNKNOWN = 0;
/** Main contents. */
- public static final int CONTENT_TYPE_MAIN = 0;
+ public static final int CONTENT_TYPE_MAIN = 1;
/** Advertisement contents. */
- public static final int CONTENT_TYPE_AD = 1;
+ public static final int CONTENT_TYPE_AD = 2;
/** Other contents. */
- public static final int CONTENT_TYPE_OTHER = 2;
+ public static final int CONTENT_TYPE_OTHER = 3;
/** @hide */
@@ -170,7 +166,7 @@ public final class PlaybackMetrics implements Parcelable {
private final long mLocalBytesRead;
private final long mNetworkTransferDurationMillis;
private final byte[] mDrmSessionId;
- private final Bundle mExtras;
+ private final @NonNull Bundle mMetricsBundle;
/**
* Creates a new PlaybackMetrics.
@@ -194,7 +190,7 @@ public final class PlaybackMetrics implements Parcelable {
long localBytesRead,
long networkTransferDurationMillis,
byte[] drmSessionId,
- Bundle extras) {
+ @NonNull Bundle extras) {
this.mMediaDurationMillis = mediaDurationMillis;
this.mStreamSource = streamSource;
this.mStreamType = streamType;
@@ -212,7 +208,7 @@ public final class PlaybackMetrics implements Parcelable {
this.mLocalBytesRead = localBytesRead;
this.mNetworkTransferDurationMillis = networkTransferDurationMillis;
this.mDrmSessionId = drmSessionId;
- this.mExtras = extras.deepCopy();
+ this.mMetricsBundle = extras.deepCopy();
}
/**
@@ -338,12 +334,23 @@ public final class PlaybackMetrics implements Parcelable {
return mNetworkTransferDurationMillis;
}
- /** @hide */
+ /**
+ * Gets DRM session ID.
+ */
@NonNull
public byte[] getDrmSessionId() {
return mDrmSessionId;
}
+ /**
+ * Gets metrics-related information that is not supported by dedicated methods.
+ * <p>It is intended to be used for backwards compatibility by the metrics infrastructure.
+ */
+ @NonNull
+ public Bundle getMetricsBundle() {
+ return mMetricsBundle;
+ }
+
@Override
public String toString() {
return "PlaybackMetrics { "
@@ -402,7 +409,6 @@ public final class PlaybackMetrics implements Parcelable {
long flg = 0;
if (mPlayerName != null) flg |= 0x80;
if (mPlayerVersion != null) flg |= 0x100;
- if (mExtras != null) flg |= 0x200;
dest.writeLong(flg);
dest.writeLong(mMediaDurationMillis);
dest.writeInt(mStreamSource);
@@ -412,7 +418,6 @@ public final class PlaybackMetrics implements Parcelable {
dest.writeInt(mContentType);
if (mPlayerName != null) dest.writeString(mPlayerName);
if (mPlayerVersion != null) dest.writeString(mPlayerVersion);
- if (mExtras != null) dest.writeBundle(mExtras);
dest.writeLongArray(mExperimentIds);
dest.writeInt(mVideoFramesPlayed);
dest.writeInt(mVideoFramesDropped);
@@ -422,6 +427,7 @@ public final class PlaybackMetrics implements Parcelable {
dest.writeLong(mNetworkTransferDurationMillis);
dest.writeInt(mDrmSessionId.length);
dest.writeByteArray(mDrmSessionId);
+ dest.writeBundle(mMetricsBundle);
}
@Override
@@ -440,7 +446,6 @@ public final class PlaybackMetrics implements Parcelable {
int contentType = in.readInt();
String playerName = (flg & 0x80) == 0 ? null : in.readString();
String playerVersion = (flg & 0x100) == 0 ? null : in.readString();
- Bundle extras = (flg & 0x200) == 0 ? null : in.readBundle();
long[] experimentIds = in.createLongArray();
int videoFramesPlayed = in.readInt();
int videoFramesDropped = in.readInt();
@@ -451,6 +456,7 @@ public final class PlaybackMetrics implements Parcelable {
int drmSessionIdLen = in.readInt();
byte[] drmSessionId = new byte[drmSessionIdLen];
in.readByteArray(drmSessionId);
+ Bundle extras = in.readBundle();
this.mMediaDurationMillis = mediaDurationMillis;
this.mStreamSource = streamSource;
@@ -469,7 +475,7 @@ public final class PlaybackMetrics implements Parcelable {
this.mLocalBytesRead = localBytesRead;
this.mNetworkTransferDurationMillis = networkTransferDurationMillis;
this.mDrmSessionId = drmSessionId;
- this.mExtras = extras;
+ this.mMetricsBundle = extras;
}
public static final @NonNull Parcelable.Creator<PlaybackMetrics> CREATOR =
@@ -506,7 +512,7 @@ public final class PlaybackMetrics implements Parcelable {
private long mLocalBytesRead = -1;
private long mNetworkTransferDurationMillis = -1;
private byte[] mDrmSessionId = new byte[0];
- private Bundle mExtras;
+ private Bundle mMetricsBundle = new Bundle();
/**
* Creates a new Builder.
@@ -646,7 +652,7 @@ public final class PlaybackMetrics implements Parcelable {
}
/**
- * @hide
+ * Sets DRM session ID.
*/
public @NonNull Builder setDrmSessionId(@NonNull byte[] drmSessionId) {
mDrmSessionId = drmSessionId;
@@ -654,12 +660,13 @@ public final class PlaybackMetrics implements Parcelable {
}
/**
- * Set extras for compatibility.
- * <p>Should be used by support library only.
- * @hide
+ * Sets metrics-related information that is not supported by dedicated
+ * methods.
+ * <p>It is intended to be used for backwards compatibility by the
+ * metrics infrastructure.
*/
- public @NonNull Builder setExtras(@NonNull Bundle extras) {
- mExtras = extras;
+ public @NonNull Builder setMetricsBundle(@NonNull Bundle metricsBundle) {
+ mMetricsBundle = metricsBundle;
return this;
}
@@ -683,7 +690,7 @@ public final class PlaybackMetrics implements Parcelable {
mLocalBytesRead,
mNetworkTransferDurationMillis,
mDrmSessionId,
- mExtras);
+ mMetricsBundle);
return o;
}