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
This commit is contained in:
@@ -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...
|
||||
|
||||
@@ -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)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user