Unhide playback metrics APIs part 1
Bug: 159337195 Test: mmm Change-Id: Ifb25bbafaf97aa582cb7981c24e585620c35ef21
This commit is contained in:
@@ -23939,6 +23939,19 @@ package android.media.effect {
|
||||
|
||||
}
|
||||
|
||||
package android.media.metrics {
|
||||
|
||||
public class MediaMetricsManager {
|
||||
method @NonNull public android.media.metrics.PlaybackSession createPlaybackSession();
|
||||
}
|
||||
|
||||
public final class PlaybackSession implements java.lang.AutoCloseable {
|
||||
method public void close();
|
||||
method @NonNull public String getId();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.media.midi {
|
||||
|
||||
public final class MidiDevice implements java.io.Closeable {
|
||||
|
||||
@@ -26,7 +26,7 @@ import android.media.metrics.TrackChangeEvent;
|
||||
* Interface to the playback manager service.
|
||||
* @hide
|
||||
*/
|
||||
interface IPlaybackMetricsManager {
|
||||
interface IMediaMetricsManager {
|
||||
void reportPlaybackMetrics(in String sessionId, in PlaybackMetrics metrics, int userId);
|
||||
String getSessionId(int userId);
|
||||
void reportNetworkEvent(in String sessionId, in NetworkEvent event, int userId);
|
||||
@@ -20,19 +20,19 @@ import android.annotation.NonNull;
|
||||
import android.os.RemoteException;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* This class gives information about, and interacts with media metrics.
|
||||
*/
|
||||
public class PlaybackMetricsManager {
|
||||
public class MediaMetricsManager {
|
||||
// TODO: unhide APIs.
|
||||
private static final String TAG = "PlaybackMetricsManager";
|
||||
private static final String TAG = "MediaMetricsManager";
|
||||
|
||||
private IPlaybackMetricsManager mService;
|
||||
private IMediaMetricsManager mService;
|
||||
private int mUserId;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public PlaybackMetricsManager(IPlaybackMetricsManager service, int userId) {
|
||||
public MediaMetricsManager(IMediaMetricsManager service, int userId) {
|
||||
mService = service;
|
||||
mUserId = userId;
|
||||
}
|
||||
@@ -87,7 +87,8 @@ public class PlaybackMetricsManager {
|
||||
/**
|
||||
* Creates a playback session.
|
||||
*/
|
||||
public PlaybackSession createSession() {
|
||||
@NonNull
|
||||
public PlaybackSession createPlaybackSession() {
|
||||
try {
|
||||
String id = mService.getSessionId(mUserId);
|
||||
PlaybackSession session = new PlaybackSession(id, this);
|
||||
@@ -24,11 +24,11 @@ import com.android.internal.util.AnnotationValidations;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* An instances of this class represents a session of media playback.
|
||||
*/
|
||||
public final class PlaybackSession implements AutoCloseable {
|
||||
private final @NonNull String mId;
|
||||
private final @NonNull PlaybackMetricsManager mManager;
|
||||
private final @NonNull MediaMetricsManager mManager;
|
||||
private boolean mClosed = false;
|
||||
|
||||
/**
|
||||
@@ -36,7 +36,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public PlaybackSession(@NonNull String id, @NonNull PlaybackMetricsManager manager) {
|
||||
public PlaybackSession(@NonNull String id, @NonNull MediaMetricsManager manager) {
|
||||
mId = id;
|
||||
mManager = manager;
|
||||
AnnotationValidations.validate(NonNull.class, null, mId);
|
||||
@@ -45,6 +45,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
|
||||
/**
|
||||
* Reports playback metrics.
|
||||
* @hide
|
||||
*/
|
||||
public void reportPlaybackMetrics(@NonNull PlaybackMetrics metrics) {
|
||||
mManager.reportPlaybackMetrics(mId, metrics);
|
||||
@@ -52,6 +53,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
|
||||
/**
|
||||
* Reports error event.
|
||||
* @hide
|
||||
*/
|
||||
public void reportPlaybackErrorEvent(PlaybackErrorEvent event) {
|
||||
mManager.reportPlaybackErrorEvent(mId, event);
|
||||
@@ -59,6 +61,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
|
||||
/**
|
||||
* Reports network event.
|
||||
* @hide
|
||||
*/
|
||||
public void reportNetworkEvent(NetworkEvent event) {
|
||||
mManager.reportNetworkEvent(mId, event);
|
||||
@@ -66,6 +69,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
|
||||
/**
|
||||
* Reports playback state event.
|
||||
* @hide
|
||||
*/
|
||||
public void reportPlaybackStateEvent(PlaybackStateEvent event) {
|
||||
mManager.reportPlaybackStateEvent(mId, event);
|
||||
@@ -73,6 +77,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
|
||||
/**
|
||||
* Reports track change event.
|
||||
* @hide
|
||||
*/
|
||||
public void reportTrackChangeEvent(TrackChangeEvent event) {
|
||||
mManager.reportTrackChangeEvent(mId, event);
|
||||
@@ -96,7 +101,7 @@ public final class PlaybackSession implements AutoCloseable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws Exception {
|
||||
public void close() {
|
||||
mClosed = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package com.android.server.media.metrics;
|
||||
|
||||
import android.content.Context;
|
||||
import android.media.metrics.IPlaybackMetricsManager;
|
||||
import android.media.metrics.IMediaMetricsManager;
|
||||
import android.media.metrics.NetworkEvent;
|
||||
import android.media.metrics.PlaybackErrorEvent;
|
||||
import android.media.metrics.PlaybackMetrics;
|
||||
@@ -33,9 +33,9 @@ import com.android.server.SystemService;
|
||||
import java.security.SecureRandom;
|
||||
|
||||
/**
|
||||
* System service manages playback metrics.
|
||||
* System service manages media metrics.
|
||||
*/
|
||||
public final class PlaybackMetricsManagerService extends SystemService {
|
||||
public final class MediaMetricsManagerService extends SystemService {
|
||||
private final SecureRandom mSecureRandom;
|
||||
|
||||
/**
|
||||
@@ -43,7 +43,7 @@ public final class PlaybackMetricsManagerService extends SystemService {
|
||||
*
|
||||
* @param context The system server context.
|
||||
*/
|
||||
public PlaybackMetricsManagerService(Context context) {
|
||||
public MediaMetricsManagerService(Context context) {
|
||||
super(context);
|
||||
mSecureRandom = new SecureRandom();
|
||||
}
|
||||
@@ -54,7 +54,7 @@ public final class PlaybackMetricsManagerService extends SystemService {
|
||||
publishBinderService("playback_metrics", new BinderService());
|
||||
}
|
||||
|
||||
private final class BinderService extends IPlaybackMetricsManager.Stub {
|
||||
private final class BinderService extends IMediaMetricsManager.Stub {
|
||||
@Override
|
||||
public void reportPlaybackMetrics(String sessionId, PlaybackMetrics metrics, int userId) {
|
||||
StatsEvent statsEvent = StatsEvent.newBuilder()
|
||||
Reference in New Issue
Block a user