Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15c1dd0e authored by shubang's avatar shubang
Browse files

Add Context constant for Playback Metrics Service

Bug: 159337195
Test: mmm
Change-Id: I771a5edd1ce022d196eb4b612f382f52f7701b4b
parent bcece2f0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -10370,6 +10370,7 @@ package android.content {
    field public static final String LAUNCHER_APPS_SERVICE = "launcherapps";
    field public static final String LAUNCHER_APPS_SERVICE = "launcherapps";
    field public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
    field public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
    field public static final String LOCATION_SERVICE = "location";
    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_PROJECTION_SERVICE = "media_projection";
    field public static final String MEDIA_ROUTER_SERVICE = "media_router";
    field public static final String MEDIA_ROUTER_SERVICE = "media_router";
    field public static final String MEDIA_SESSION_SERVICE = "media_session";
    field public static final String MEDIA_SESSION_SERVICE = "media_session";
+14 −0
Original line number Original line Diff line number Diff line
@@ -107,6 +107,8 @@ import android.media.AudioManager;
import android.media.MediaFrameworkInitializer;
import android.media.MediaFrameworkInitializer;
import android.media.MediaFrameworkPlatformInitializer;
import android.media.MediaFrameworkPlatformInitializer;
import android.media.MediaRouter;
import android.media.MediaRouter;
import android.media.metrics.IMediaMetricsManager;
import android.media.metrics.MediaMetricsManager;
import android.media.midi.IMidiManager;
import android.media.midi.IMidiManager;
import android.media.midi.MidiManager;
import android.media.midi.MidiManager;
import android.media.musicrecognition.IMusicRecognitionManager;
import android.media.musicrecognition.IMusicRecognitionManager;
@@ -1412,6 +1414,18 @@ public final class SystemServiceRegistry {
                        return new DeviceStateManager();
                        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;
        sInitializing = true;
        try {
        try {
            // Note: the following functions need to be @SystemApis, once they become mainline
            // Note: the following functions need to be @SystemApis, once they become mainline
+11 −0
Original line number Original line Diff line number Diff line
@@ -3576,6 +3576,7 @@ public abstract class Context {
            //@hide: PEOPLE_SERVICE,
            //@hide: PEOPLE_SERVICE,
            //@hide: DEVICE_STATE_SERVICE,
            //@hide: DEVICE_STATE_SERVICE,
            UWB_SERVICE,
            UWB_SERVICE,
            MEDIA_METRICS_SERVICE,
    })
    })
    @Retention(RetentionPolicy.SOURCE)
    @Retention(RetentionPolicy.SOURCE)
    public @interface ServiceName {}
    public @interface ServiceName {}
@@ -5377,6 +5378,16 @@ public abstract class Context {
     */
     */
    public static final String DEVICE_STATE_SERVICE = "device_state";
    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
     * Determine whether the given permission is allowed for a particular
     * process and user ID running in the system.
     * process and user ID running in the system.
+3 −0
Original line number Original line Diff line number Diff line
@@ -17,11 +17,14 @@
package android.media.metrics;
package android.media.metrics;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.SystemService;
import android.content.Context;
import android.os.RemoteException;
import android.os.RemoteException;


/**
/**
 * This class gives information about, and interacts with media metrics.
 * This class gives information about, and interacts with media metrics.
 */
 */
@SystemService(Context.MEDIA_METRICS_SERVICE)
public class MediaMetricsManager {
public class MediaMetricsManager {
    // TODO: unhide APIs.
    // TODO: unhide APIs.
    private static final String TAG = "MediaMetricsManager";
    private static final String TAG = "MediaMetricsManager";
+1 −2
Original line number Original line Diff line number Diff line
@@ -50,8 +50,7 @@ public final class MediaMetricsManagerService extends SystemService {


    @Override
    @Override
    public void onStart() {
    public void onStart() {
        // TODO: make the service name a constant in Context.java
        publishBinderService(Context.MEDIA_METRICS_SERVICE, new BinderService());
        publishBinderService("playback_metrics", new BinderService());
    }
    }


    private final class BinderService extends IMediaMetricsManager.Stub {
    private final class BinderService extends IMediaMetricsManager.Stub {