Loading core/api/current.txt +64 −14 Original line number Diff line number Diff line Loading @@ -24418,11 +24418,16 @@ package android.media.metrics { public abstract class Event { ctor protected Event(long); method @NonNull public android.os.Bundle getMetricsBundle(); method @IntRange(from=0xffffffff) public long getTimeSinceCreatedMillis(); } public final class LogSessionId { } public class MediaMetricsManager { method @NonNull public android.media.metrics.PlaybackSession createPlaybackSession(); method @NonNull public android.media.metrics.RecordingSession createRecordingSession(); field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL } Loading @@ -24437,14 +24442,16 @@ package android.media.metrics { field public static final int NETWORK_TYPE_5G_NSA = 7; // 0x7 field public static final int NETWORK_TYPE_5G_SA = 8; // 0x8 field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3 field public static final int NETWORK_TYPE_NONE = 0; // 0x0 field public static final int NETWORK_TYPE_OFFLINE = 9; // 0x9 field public static final int NETWORK_TYPE_OTHER = 1; // 0x1 field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0 field public static final int NETWORK_TYPE_WIFI = 2; // 0x2 } public static final class NetworkEvent.Builder { ctor public NetworkEvent.Builder(); method @NonNull public android.media.metrics.NetworkEvent build(); method @NonNull public android.media.metrics.NetworkEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.NetworkEvent.Builder setNetworkType(int); method @NonNull public android.media.metrics.NetworkEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); } Loading @@ -24460,9 +24467,37 @@ package android.media.metrics { method @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) public int getSubErrorCode(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackErrorEvent> CREATOR; field public static final int ERROR_CODE_OTHER = 1; // 0x1 field public static final int ERROR_CODE_RUNTIME = 2; // 0x2 field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0 field public static final int ERROR_AUDIOTRACK_INIT = 17; // 0x11 field public static final int ERROR_AUDIOTRACK_OTHER = 19; // 0x13 field public static final int ERROR_AUDIOTRACK_WRITE = 18; // 0x12 field public static final int ERROR_DECODER_DECODE = 14; // 0xe field public static final int ERROR_DECODER_INIT = 13; // 0xd field public static final int ERROR_DECODER_OOM = 15; // 0xf field public static final int ERROR_DECODER_OTHER = 16; // 0x10 field public static final int ERROR_DRM_CONTENT_ERROR = 28; // 0x1c field public static final int ERROR_DRM_DISALLOWED = 26; // 0x1a field public static final int ERROR_DRM_LICENSE_ERROR = 25; // 0x19 field public static final int ERROR_DRM_OTHER = 30; // 0x1e field public static final int ERROR_DRM_PROVISIONING_FAILED = 24; // 0x18 field public static final int ERROR_DRM_REVOKED = 29; // 0x1d field public static final int ERROR_DRM_SYSTEM_ERROR = 27; // 0x1b field public static final int ERROR_DRM_UNAVAILABLE = 23; // 0x17 field public static final int ERROR_MEDIA_MANIFEST = 10; // 0xa field public static final int ERROR_MEDIA_OTHER = 12; // 0xc field public static final int ERROR_MEDIA_PARSER = 11; // 0xb field public static final int ERROR_NETWORK_BAD_STATUS = 5; // 0x5 field public static final int ERROR_NETWORK_CLOSED = 8; // 0x8 field public static final int ERROR_NETWORK_CONNECT = 4; // 0x4 field public static final int ERROR_NETWORK_DNS = 6; // 0x6 field public static final int ERROR_NETWORK_OFFLINE = 3; // 0x3 field public static final int ERROR_NETWORK_OTHER = 9; // 0x9 field public static final int ERROR_NETWORK_TIMEOUT = 7; // 0x7 field public static final int ERROR_OTHER = 1; // 0x1 field public static final int ERROR_PLAYER_BEHIND_LIVE_WINDOW = 21; // 0x15 field public static final int ERROR_PLAYER_OTHER = 22; // 0x16 field public static final int ERROR_PLAYER_REMOTE = 20; // 0x14 field public static final int ERROR_RUNTIME = 2; // 0x2 field public static final int ERROR_UNKNOWN = 0; // 0x0 } public static final class PlaybackErrorEvent.Builder { Loading @@ -24470,6 +24505,7 @@ package android.media.metrics { method @NonNull public android.media.metrics.PlaybackErrorEvent build(); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setErrorCode(int); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setException(@NonNull Exception); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setSubErrorCode(@IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); } Loading @@ -24478,10 +24514,12 @@ package android.media.metrics { method public int describeContents(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioUnderrunCount(); method public int getContentType(); method @NonNull public byte[] getDrmSessionId(); method public int getDrmType(); method @NonNull public long[] getExperimentIds(); method @IntRange(from=0xffffffff) public long getLocalBytesRead(); method @IntRange(from=0xffffffff) public long getMediaDurationMillis(); method @NonNull public android.os.Bundle getMetricsBundle(); method @IntRange(from=0xffffffff) public long getNetworkBytesRead(); method @IntRange(from=0xffffffff) public long getNetworkTransferDurationMillis(); method public int getPlaybackType(); Loading @@ -24492,9 +24530,10 @@ package android.media.metrics { method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesDropped(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesPlayed(); method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final int CONTENT_TYPE_AD = 1; // 0x1 field public static final int CONTENT_TYPE_MAIN = 0; // 0x0 field public static final int CONTENT_TYPE_OTHER = 2; // 0x2 field public static final int CONTENT_TYPE_AD = 2; // 0x2 field public static final int CONTENT_TYPE_MAIN = 1; // 0x1 field public static final int CONTENT_TYPE_OTHER = 3; // 0x3 field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0 field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackMetrics> CREATOR; field public static final int DRM_TYPE_CLEARKEY = 6; // 0x6 field public static final int DRM_TYPE_NONE = 0; // 0x0 Loading @@ -24503,9 +24542,10 @@ package android.media.metrics { field public static final int DRM_TYPE_WIDEVINE_L1 = 3; // 0x3 field public static final int DRM_TYPE_WIDEVINE_L3 = 4; // 0x4 field public static final int DRM_TYPE_WV_L3_FALLBACK = 5; // 0x5 field public static final int PLAYBACK_TYPE_LIVE = 1; // 0x1 field public static final int PLAYBACK_TYPE_OTHER = 2; // 0x2 field public static final int PLAYBACK_TYPE_VOD = 0; // 0x0 field public static final int PLAYBACK_TYPE_LIVE = 2; // 0x2 field public static final int PLAYBACK_TYPE_OTHER = 3; // 0x3 field public static final int PLAYBACK_TYPE_UNKNOWN = 0; // 0x0 field public static final int PLAYBACK_TYPE_VOD = 1; // 0x1 field public static final int STREAM_SOURCE_DEVICE = 2; // 0x2 field public static final int STREAM_SOURCE_MIXED = 3; // 0x3 field public static final int STREAM_SOURCE_NETWORK = 1; // 0x1 Loading @@ -24524,9 +24564,11 @@ package android.media.metrics { method @NonNull public android.media.metrics.PlaybackMetrics build(); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setAudioUnderrunCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setContentType(int); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmSessionId(@NonNull byte[]); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmType(int); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setLocalBytesRead(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMediaDurationMillis(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkBytesRead(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkTransferDurationMillis(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlaybackType(int); Loading @@ -24540,7 +24582,7 @@ package android.media.metrics { public final class PlaybackSession implements java.lang.AutoCloseable { method public void close(); method @NonNull public String getId(); method @NonNull public android.media.metrics.LogSessionId getSessionId(); method public void reportNetworkEvent(@NonNull android.media.metrics.NetworkEvent); method public void reportPlaybackErrorEvent(@NonNull android.media.metrics.PlaybackErrorEvent); method public void reportPlaybackMetrics(@NonNull android.media.metrics.PlaybackMetrics); Loading Loading @@ -24573,13 +24615,19 @@ package android.media.metrics { public static final class PlaybackStateEvent.Builder { ctor public PlaybackStateEvent.Builder(); method @NonNull public android.media.metrics.PlaybackStateEvent build(); method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setState(int); method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); } public final class RecordingSession implements java.lang.AutoCloseable { method public void close(); method @NonNull public android.media.metrics.LogSessionId getSessionId(); } public final class TrackChangeEvent extends android.media.metrics.Event implements android.os.Parcelable { ctor public TrackChangeEvent(int, int, @Nullable String, @Nullable String, @Nullable String, int, long, int, @Nullable String, @Nullable String, int, int, int, int); method public int describeContents(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioSampleRate(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getBitrate(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getChannelCount(); method @Nullable public String getCodecName(); Loading @@ -24588,10 +24636,10 @@ package android.media.metrics { method @Nullable public String getLanguage(); method @Nullable public String getLanguageRegion(); method @Nullable public String getSampleMimeType(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getSampleRate(); method public int getTrackChangeReason(); method public int getTrackState(); method public int getTrackType(); method @FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) public float getVideoFrameRate(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getWidth(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.TrackChangeEvent> CREATOR; Loading @@ -24610,6 +24658,7 @@ package android.media.metrics { public static final class TrackChangeEvent.Builder { ctor public TrackChangeEvent.Builder(int); method @NonNull public android.media.metrics.TrackChangeEvent build(); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setAudioSampleRate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setBitrate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setChannelCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setCodecName(@NonNull String); Loading @@ -24617,11 +24666,12 @@ package android.media.metrics { method @NonNull public android.media.metrics.TrackChangeEvent.Builder setHeight(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguage(@NonNull String); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguageRegion(@NonNull String); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setSampleMimeType(@NonNull String); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setSampleRate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackChangeReason(int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackState(int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setVideoFrameRate(@FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) float); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setWidth(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); } core/api/test-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -1475,6 +1475,14 @@ package android.media.audiopolicy { } package android.media.metrics { public final class LogSessionId { method @NonNull public String getStringId(); } } package android.media.tv { public final class TvInputManager { Loading media/java/android/media/metrics/Event.java +10 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.media.metrics; import android.annotation.IntRange; import android.annotation.NonNull; import android.os.Bundle; /** Loading @@ -24,7 +25,7 @@ import android.os.Bundle; */ public abstract class Event { final long mTimeSinceCreatedMillis; Bundle mExtras; Bundle mMetricsBundle = new Bundle(); // hide default constructor /* package */ Event() { Loading @@ -38,7 +39,7 @@ public abstract class Event { /* package */ Event(long timeSinceCreatedMillis, Bundle extras) { mTimeSinceCreatedMillis = timeSinceCreatedMillis; mExtras = extras; mMetricsBundle = extras; } /** Loading @@ -50,8 +51,12 @@ public abstract class Event { return mTimeSinceCreatedMillis; } /** @hide */ public Bundle getExtras() { return mExtras; /** * 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; } } media/java/android/media/metrics/LogSessionId.java +12 −3 Original line number Diff line number Diff line Loading @@ -16,19 +16,28 @@ package android.media.metrics; import android.annotation.NonNull; import android.annotation.TestApi; /** * An instances of this class represents the ID of a log session. * @hide */ public class LogSessionId { public final class LogSessionId { private final String mSessionId; /* package */ LogSessionId(String id) { /* package */ LogSessionId(@NonNull String id) { mSessionId = id; } /** @hide */ @TestApi @NonNull public String getStringId() { return mSessionId; } @Override public String toString() { return mSessionId; } } media/java/android/media/metrics/MediaMetricsManager.java +0 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,6 @@ public class MediaMetricsManager { /** * Creates a recording session. * @hide */ @NonNull public RecordingSession createRecordingSession() { Loading Loading
core/api/current.txt +64 −14 Original line number Diff line number Diff line Loading @@ -24418,11 +24418,16 @@ package android.media.metrics { public abstract class Event { ctor protected Event(long); method @NonNull public android.os.Bundle getMetricsBundle(); method @IntRange(from=0xffffffff) public long getTimeSinceCreatedMillis(); } public final class LogSessionId { } public class MediaMetricsManager { method @NonNull public android.media.metrics.PlaybackSession createPlaybackSession(); method @NonNull public android.media.metrics.RecordingSession createRecordingSession(); field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL } Loading @@ -24437,14 +24442,16 @@ package android.media.metrics { field public static final int NETWORK_TYPE_5G_NSA = 7; // 0x7 field public static final int NETWORK_TYPE_5G_SA = 8; // 0x8 field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3 field public static final int NETWORK_TYPE_NONE = 0; // 0x0 field public static final int NETWORK_TYPE_OFFLINE = 9; // 0x9 field public static final int NETWORK_TYPE_OTHER = 1; // 0x1 field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0 field public static final int NETWORK_TYPE_WIFI = 2; // 0x2 } public static final class NetworkEvent.Builder { ctor public NetworkEvent.Builder(); method @NonNull public android.media.metrics.NetworkEvent build(); method @NonNull public android.media.metrics.NetworkEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.NetworkEvent.Builder setNetworkType(int); method @NonNull public android.media.metrics.NetworkEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); } Loading @@ -24460,9 +24467,37 @@ package android.media.metrics { method @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) public int getSubErrorCode(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackErrorEvent> CREATOR; field public static final int ERROR_CODE_OTHER = 1; // 0x1 field public static final int ERROR_CODE_RUNTIME = 2; // 0x2 field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0 field public static final int ERROR_AUDIOTRACK_INIT = 17; // 0x11 field public static final int ERROR_AUDIOTRACK_OTHER = 19; // 0x13 field public static final int ERROR_AUDIOTRACK_WRITE = 18; // 0x12 field public static final int ERROR_DECODER_DECODE = 14; // 0xe field public static final int ERROR_DECODER_INIT = 13; // 0xd field public static final int ERROR_DECODER_OOM = 15; // 0xf field public static final int ERROR_DECODER_OTHER = 16; // 0x10 field public static final int ERROR_DRM_CONTENT_ERROR = 28; // 0x1c field public static final int ERROR_DRM_DISALLOWED = 26; // 0x1a field public static final int ERROR_DRM_LICENSE_ERROR = 25; // 0x19 field public static final int ERROR_DRM_OTHER = 30; // 0x1e field public static final int ERROR_DRM_PROVISIONING_FAILED = 24; // 0x18 field public static final int ERROR_DRM_REVOKED = 29; // 0x1d field public static final int ERROR_DRM_SYSTEM_ERROR = 27; // 0x1b field public static final int ERROR_DRM_UNAVAILABLE = 23; // 0x17 field public static final int ERROR_MEDIA_MANIFEST = 10; // 0xa field public static final int ERROR_MEDIA_OTHER = 12; // 0xc field public static final int ERROR_MEDIA_PARSER = 11; // 0xb field public static final int ERROR_NETWORK_BAD_STATUS = 5; // 0x5 field public static final int ERROR_NETWORK_CLOSED = 8; // 0x8 field public static final int ERROR_NETWORK_CONNECT = 4; // 0x4 field public static final int ERROR_NETWORK_DNS = 6; // 0x6 field public static final int ERROR_NETWORK_OFFLINE = 3; // 0x3 field public static final int ERROR_NETWORK_OTHER = 9; // 0x9 field public static final int ERROR_NETWORK_TIMEOUT = 7; // 0x7 field public static final int ERROR_OTHER = 1; // 0x1 field public static final int ERROR_PLAYER_BEHIND_LIVE_WINDOW = 21; // 0x15 field public static final int ERROR_PLAYER_OTHER = 22; // 0x16 field public static final int ERROR_PLAYER_REMOTE = 20; // 0x14 field public static final int ERROR_RUNTIME = 2; // 0x2 field public static final int ERROR_UNKNOWN = 0; // 0x0 } public static final class PlaybackErrorEvent.Builder { Loading @@ -24470,6 +24505,7 @@ package android.media.metrics { method @NonNull public android.media.metrics.PlaybackErrorEvent build(); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setErrorCode(int); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setException(@NonNull Exception); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setSubErrorCode(@IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); } Loading @@ -24478,10 +24514,12 @@ package android.media.metrics { method public int describeContents(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioUnderrunCount(); method public int getContentType(); method @NonNull public byte[] getDrmSessionId(); method public int getDrmType(); method @NonNull public long[] getExperimentIds(); method @IntRange(from=0xffffffff) public long getLocalBytesRead(); method @IntRange(from=0xffffffff) public long getMediaDurationMillis(); method @NonNull public android.os.Bundle getMetricsBundle(); method @IntRange(from=0xffffffff) public long getNetworkBytesRead(); method @IntRange(from=0xffffffff) public long getNetworkTransferDurationMillis(); method public int getPlaybackType(); Loading @@ -24492,9 +24530,10 @@ package android.media.metrics { method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesDropped(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesPlayed(); method public void writeToParcel(@NonNull android.os.Parcel, int); field public static final int CONTENT_TYPE_AD = 1; // 0x1 field public static final int CONTENT_TYPE_MAIN = 0; // 0x0 field public static final int CONTENT_TYPE_OTHER = 2; // 0x2 field public static final int CONTENT_TYPE_AD = 2; // 0x2 field public static final int CONTENT_TYPE_MAIN = 1; // 0x1 field public static final int CONTENT_TYPE_OTHER = 3; // 0x3 field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0 field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackMetrics> CREATOR; field public static final int DRM_TYPE_CLEARKEY = 6; // 0x6 field public static final int DRM_TYPE_NONE = 0; // 0x0 Loading @@ -24503,9 +24542,10 @@ package android.media.metrics { field public static final int DRM_TYPE_WIDEVINE_L1 = 3; // 0x3 field public static final int DRM_TYPE_WIDEVINE_L3 = 4; // 0x4 field public static final int DRM_TYPE_WV_L3_FALLBACK = 5; // 0x5 field public static final int PLAYBACK_TYPE_LIVE = 1; // 0x1 field public static final int PLAYBACK_TYPE_OTHER = 2; // 0x2 field public static final int PLAYBACK_TYPE_VOD = 0; // 0x0 field public static final int PLAYBACK_TYPE_LIVE = 2; // 0x2 field public static final int PLAYBACK_TYPE_OTHER = 3; // 0x3 field public static final int PLAYBACK_TYPE_UNKNOWN = 0; // 0x0 field public static final int PLAYBACK_TYPE_VOD = 1; // 0x1 field public static final int STREAM_SOURCE_DEVICE = 2; // 0x2 field public static final int STREAM_SOURCE_MIXED = 3; // 0x3 field public static final int STREAM_SOURCE_NETWORK = 1; // 0x1 Loading @@ -24524,9 +24564,11 @@ package android.media.metrics { method @NonNull public android.media.metrics.PlaybackMetrics build(); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setAudioUnderrunCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setContentType(int); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmSessionId(@NonNull byte[]); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmType(int); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setLocalBytesRead(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMediaDurationMillis(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkBytesRead(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkTransferDurationMillis(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlaybackType(int); Loading @@ -24540,7 +24582,7 @@ package android.media.metrics { public final class PlaybackSession implements java.lang.AutoCloseable { method public void close(); method @NonNull public String getId(); method @NonNull public android.media.metrics.LogSessionId getSessionId(); method public void reportNetworkEvent(@NonNull android.media.metrics.NetworkEvent); method public void reportPlaybackErrorEvent(@NonNull android.media.metrics.PlaybackErrorEvent); method public void reportPlaybackMetrics(@NonNull android.media.metrics.PlaybackMetrics); Loading Loading @@ -24573,13 +24615,19 @@ package android.media.metrics { public static final class PlaybackStateEvent.Builder { ctor public PlaybackStateEvent.Builder(); method @NonNull public android.media.metrics.PlaybackStateEvent build(); method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setState(int); method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); } public final class RecordingSession implements java.lang.AutoCloseable { method public void close(); method @NonNull public android.media.metrics.LogSessionId getSessionId(); } public final class TrackChangeEvent extends android.media.metrics.Event implements android.os.Parcelable { ctor public TrackChangeEvent(int, int, @Nullable String, @Nullable String, @Nullable String, int, long, int, @Nullable String, @Nullable String, int, int, int, int); method public int describeContents(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioSampleRate(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getBitrate(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getChannelCount(); method @Nullable public String getCodecName(); Loading @@ -24588,10 +24636,10 @@ package android.media.metrics { method @Nullable public String getLanguage(); method @Nullable public String getLanguageRegion(); method @Nullable public String getSampleMimeType(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getSampleRate(); method public int getTrackChangeReason(); method public int getTrackState(); method public int getTrackType(); method @FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) public float getVideoFrameRate(); method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getWidth(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.TrackChangeEvent> CREATOR; Loading @@ -24610,6 +24658,7 @@ package android.media.metrics { public static final class TrackChangeEvent.Builder { ctor public TrackChangeEvent.Builder(int); method @NonNull public android.media.metrics.TrackChangeEvent build(); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setAudioSampleRate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setBitrate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setChannelCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setCodecName(@NonNull String); Loading @@ -24617,11 +24666,12 @@ package android.media.metrics { method @NonNull public android.media.metrics.TrackChangeEvent.Builder setHeight(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguage(@NonNull String); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguageRegion(@NonNull String); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setMetricsBundle(@NonNull android.os.Bundle); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setSampleMimeType(@NonNull String); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setSampleRate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackChangeReason(int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackState(int); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setVideoFrameRate(@FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) float); method @NonNull public android.media.metrics.TrackChangeEvent.Builder setWidth(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int); }
core/api/test-current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -1475,6 +1475,14 @@ package android.media.audiopolicy { } package android.media.metrics { public final class LogSessionId { method @NonNull public String getStringId(); } } package android.media.tv { public final class TvInputManager { Loading
media/java/android/media/metrics/Event.java +10 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.media.metrics; import android.annotation.IntRange; import android.annotation.NonNull; import android.os.Bundle; /** Loading @@ -24,7 +25,7 @@ import android.os.Bundle; */ public abstract class Event { final long mTimeSinceCreatedMillis; Bundle mExtras; Bundle mMetricsBundle = new Bundle(); // hide default constructor /* package */ Event() { Loading @@ -38,7 +39,7 @@ public abstract class Event { /* package */ Event(long timeSinceCreatedMillis, Bundle extras) { mTimeSinceCreatedMillis = timeSinceCreatedMillis; mExtras = extras; mMetricsBundle = extras; } /** Loading @@ -50,8 +51,12 @@ public abstract class Event { return mTimeSinceCreatedMillis; } /** @hide */ public Bundle getExtras() { return mExtras; /** * 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; } }
media/java/android/media/metrics/LogSessionId.java +12 −3 Original line number Diff line number Diff line Loading @@ -16,19 +16,28 @@ package android.media.metrics; import android.annotation.NonNull; import android.annotation.TestApi; /** * An instances of this class represents the ID of a log session. * @hide */ public class LogSessionId { public final class LogSessionId { private final String mSessionId; /* package */ LogSessionId(String id) { /* package */ LogSessionId(@NonNull String id) { mSessionId = id; } /** @hide */ @TestApi @NonNull public String getStringId() { return mSessionId; } @Override public String toString() { return mSessionId; } }
media/java/android/media/metrics/MediaMetricsManager.java +0 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,6 @@ public class MediaMetricsManager { /** * Creates a recording session. * @hide */ @NonNull public RecordingSession createRecordingSession() { Loading