diff options
Diffstat (limited to 'media/java/android/media/metrics/PlaybackMetrics.java')
-rw-r--r-- | media/java/android/media/metrics/PlaybackMetrics.java | 59 |
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; } |