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

Commit 431f3af8 authored by Jin Seok Park's avatar Jin Seok Park
Browse files

Remove using hidden API: MediaSessionManager(Context)

Replace with SystemServiceRegistry.registerContextAwareService,
which is a @SystemApi. See ag/9734296 for reference.

Bug: 160380016
Test: atest
    CtsMediaTestCases:android.media.cts.MediaSessionManagerTest
Change-Id: I9b6da97e0e0f5181ce8681a399ca090e67f6fd4e
parent 8f79003b
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -101,11 +101,11 @@ import android.location.ICountryDetector;
import android.location.ILocationManager;
import android.location.LocationManager;
import android.media.AudioManager;
import android.media.MediaFrameworkInitializer;
import android.media.MediaRouter;
import android.media.midi.IMidiManager;
import android.media.midi.MidiManager;
import android.media.projection.MediaProjectionManager;
import android.media.session.MediaSessionManager;
import android.media.soundtrigger.SoundTriggerManager;
import android.media.tv.ITvInputManager;
import android.media.tv.TvInputManager;
@@ -855,13 +855,6 @@ public final class SystemServiceRegistry {
                return new ConsumerIrManager(ctx);
            }});

        registerService(Context.MEDIA_SESSION_SERVICE, MediaSessionManager.class,
                new CachedServiceFetcher<MediaSessionManager>() {
            @Override
            public MediaSessionManager createService(ContextImpl ctx) {
                return new MediaSessionManager(ctx);
            }});

        registerService(Context.TRUST_SERVICE, TrustManager.class,
                new StaticServiceFetcher<TrustManager>() {
            @Override
@@ -1335,6 +1328,7 @@ public final class SystemServiceRegistry {
            WifiFrameworkInitializer.registerServiceWrappers();
            StatsFrameworkInitializer.registerServiceWrappers();
            RollbackManagerFrameworkInitializer.initialize();
            MediaFrameworkInitializer.registerServiceWrappers();
        } finally {
            // If any of the above code throws, we're in a pretty bad shape and the process
            // will likely crash, but we'll reset it just in case there's an exception handler...
+18 −0
Original line number Diff line number Diff line
@@ -17,6 +17,9 @@
package android.media;

import android.annotation.NonNull;
import android.app.SystemServiceRegistry;
import android.content.Context;
import android.media.session.MediaSessionManager;

import com.android.internal.util.Preconditions;

@@ -53,4 +56,19 @@ public class MediaFrameworkInitializer {
    public static MediaServiceManager getMediaServiceManager() {
        return sMediaServiceManager;
    }

    /**
     * Called by {@link SystemServiceRegistry}'s static initializer and registers all media
     * services to {@link Context}, so that {@link Context#getSystemService} can return them.
     *
     * @throws IllegalStateException if this is called from anywhere besides
     * {@link SystemServiceRegistry}
     */
    public static void registerServiceWrappers() {
        SystemServiceRegistry.registerContextAwareService(
                Context.MEDIA_SESSION_SERVICE,
                MediaSessionManager.class,
                context -> new MediaSessionManager(context)
        );
    }
}