Merge "Add Context constant for Playback Metrics Service"
This commit is contained in:
@@ -10373,6 +10373,7 @@ package android.content {
|
||||
field public static final String LAUNCHER_APPS_SERVICE = "launcherapps";
|
||||
field public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
|
||||
field public static final String LOCATION_SERVICE = "location";
|
||||
field public static final String MEDIA_METRICS_SERVICE = "media_metrics";
|
||||
field public static final String MEDIA_PROJECTION_SERVICE = "media_projection";
|
||||
field public static final String MEDIA_ROUTER_SERVICE = "media_router";
|
||||
field public static final String MEDIA_SESSION_SERVICE = "media_session";
|
||||
|
||||
@@ -107,6 +107,8 @@ import android.media.AudioManager;
|
||||
import android.media.MediaFrameworkInitializer;
|
||||
import android.media.MediaFrameworkPlatformInitializer;
|
||||
import android.media.MediaRouter;
|
||||
import android.media.metrics.IMediaMetricsManager;
|
||||
import android.media.metrics.MediaMetricsManager;
|
||||
import android.media.midi.IMidiManager;
|
||||
import android.media.midi.MidiManager;
|
||||
import android.media.musicrecognition.IMusicRecognitionManager;
|
||||
@@ -1412,6 +1414,18 @@ public final class SystemServiceRegistry {
|
||||
return new DeviceStateManager();
|
||||
}});
|
||||
|
||||
registerService(Context.MEDIA_METRICS_SERVICE, MediaMetricsManager.class,
|
||||
new CachedServiceFetcher<MediaMetricsManager>() {
|
||||
@Override
|
||||
public MediaMetricsManager createService(ContextImpl ctx)
|
||||
throws ServiceNotFoundException {
|
||||
IBinder iBinder =
|
||||
ServiceManager.getServiceOrThrow(Context.MEDIA_METRICS_SERVICE);
|
||||
IMediaMetricsManager service =
|
||||
IMediaMetricsManager.Stub.asInterface(iBinder);
|
||||
return new MediaMetricsManager(service, ctx.getUserId());
|
||||
}});
|
||||
|
||||
sInitializing = true;
|
||||
try {
|
||||
// Note: the following functions need to be @SystemApis, once they become mainline
|
||||
|
||||
@@ -3576,6 +3576,7 @@ public abstract class Context {
|
||||
//@hide: PEOPLE_SERVICE,
|
||||
//@hide: DEVICE_STATE_SERVICE,
|
||||
UWB_SERVICE,
|
||||
MEDIA_METRICS_SERVICE,
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface ServiceName {}
|
||||
@@ -5387,6 +5388,16 @@ public abstract class Context {
|
||||
*/
|
||||
public static final String DEVICE_STATE_SERVICE = "device_state";
|
||||
|
||||
/**
|
||||
* Use with {@link #getSystemService(String)} to retrieve a
|
||||
* {@link android.media.metrics.MediaMetricsManager} for interacting with media metrics
|
||||
* on the device.
|
||||
*
|
||||
* @see #getSystemService(String)
|
||||
* @see android.media.metrics.MediaMetricsManager
|
||||
*/
|
||||
public static final String MEDIA_METRICS_SERVICE = "media_metrics";
|
||||
|
||||
/**
|
||||
* Determine whether the given permission is allowed for a particular
|
||||
* process and user ID running in the system.
|
||||
|
||||
@@ -17,11 +17,14 @@
|
||||
package android.media.metrics;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemService;
|
||||
import android.content.Context;
|
||||
import android.os.RemoteException;
|
||||
|
||||
/**
|
||||
* This class gives information about, and interacts with media metrics.
|
||||
*/
|
||||
@SystemService(Context.MEDIA_METRICS_SERVICE)
|
||||
public class MediaMetricsManager {
|
||||
// TODO: unhide APIs.
|
||||
private static final String TAG = "MediaMetricsManager";
|
||||
|
||||
@@ -50,8 +50,7 @@ public final class MediaMetricsManagerService extends SystemService {
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
// TODO: make the service name a constant in Context.java
|
||||
publishBinderService("playback_metrics", new BinderService());
|
||||
publishBinderService(Context.MEDIA_METRICS_SERVICE, new BinderService());
|
||||
}
|
||||
|
||||
private final class BinderService extends IMediaMetricsManager.Stub {
|
||||
|
||||
Reference in New Issue
Block a user