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

Commit 4adf45f9 authored by Shubang Lu's avatar Shubang Lu Committed by Android (Google) Code Review
Browse files

Merge "Add Context constant for Playback Metrics Service"

parents 6c0b3e82 15c1dd0e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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";
+14 −0
Original line number Diff line number Diff line
@@ -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
+11 −0
Original line number Diff line number Diff line
@@ -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.
+3 −0
Original line number Diff line number Diff line
@@ -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";
+1 −2
Original line number Diff line number Diff line
@@ -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 {