From 14ca142e65f6fbe61d8db6663768f500c934e737 Mon Sep 17 00:00:00 2001 From: Hyundo Moon Date: Mon, 28 Jan 2019 15:43:24 +0900 Subject: [PATCH] Ensure that framework does not refer MediaSession2 related code Also, this CL moves mediasession2 to com.android.media apex. Bug: 123495968 Test: Passed below tests: atest CtsMediaTestCases:android.media.cts.MediaSession2Test; atest CtsMediaTestCases:android.media.cts.MediaController2Test; atest CtsMediaTestCases:android.media.cts.MediaItem2Test; atest CtsMediaTestCases:android.media.cts.MediaSession2ServiceTest; atest CtsMediaTestCases:android.media.cts.Session2CommandGroupTest; atest CtsMediaTestCases:android.media.cts.Session2CommandTest; Change-Id: I8cf7a657545e6b7b2973035f365506206e7147a0 --- Android.bp | 3 +-- api/current.txt | 1 + media/Android.bp | 19 +++---------------- .../android/media/MediaSession2Service.java | 8 +++++--- 4 files changed, 10 insertions(+), 21 deletions(-) diff --git a/Android.bp b/Android.bp index afdcaddf626f2..d89b5013df12f 100644 --- a/Android.bp +++ b/Android.bp @@ -49,9 +49,8 @@ java_defaults { "rs/java/**/*.java", ":framework-javastream-protos", - // TODO: Resolve circular library dependency and remove media1-srcs and mediasession2-srcs + // TODO: Resolve circular library dependency and remove media1-srcs ":media1-srcs", - ":mediasession2-srcs", "core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl", "core/java/android/accessibilityservice/IAccessibilityServiceClient.aidl", diff --git a/api/current.txt b/api/current.txt index 3d77ffbc450d9..d60ac8eaadde5 100644 --- a/api/current.txt +++ b/api/current.txt @@ -25959,6 +25959,7 @@ package android.media { method @NonNull public abstract android.media.MediaSession2 onGetPrimarySession(); method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2); method public final void removeSession(@NonNull android.media.MediaSession2); + field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service"; } public static class MediaSession2Service.MediaNotification { diff --git a/media/Android.bp b/media/Android.bp index 0675a36f3e812..753f4b7bbfa2d 100644 --- a/media/Android.bp +++ b/media/Android.bp @@ -25,9 +25,10 @@ java_library { } java_library { - name: "updatable-mediasession2", + name: "updatable-media", srcs: [ + ":mediaplayer2-srcs", ":mediasession2-srcs", ":framework-media-annotation-srcs", ], @@ -37,26 +38,12 @@ java_library { "apex/java", ], - // TODO: find out a way to include only the necessary aidl files instead of dirs. include_dirs: [ + // For the usage of android.os.Bundle and android.os.ResultReceiver in aidl files "frameworks/base/core/java", ], }, - installable: true, - - // Make sure that the implementaion only relies on SDK or system APIs. - sdk_version: "system_current", -} - -java_library { - name: "updatable-media", - - srcs: [ - ":mediaplayer2-srcs", - ":framework-media-annotation-srcs", - ], - static_libs: [ "mediaplayer2-protos", ], diff --git a/media/apex/java/android/media/MediaSession2Service.java b/media/apex/java/android/media/MediaSession2Service.java index f18cd317ef12a..54d0ed28cb83e 100644 --- a/media/apex/java/android/media/MediaSession2Service.java +++ b/media/apex/java/android/media/MediaSession2Service.java @@ -16,8 +16,6 @@ package android.media; -import static android.media.Session2Token.SESSION_SERVICE_INTERFACE; - import android.annotation.CallSuper; import android.annotation.NonNull; import android.annotation.Nullable; @@ -47,6 +45,10 @@ import java.util.Map; * for consistent behavior across all devices. */ public abstract class MediaSession2Service extends Service { + /** + * The {@link Intent} that must be declared as handled by the service. + */ + public static final String SERVICE_INTERFACE = Session2Token.SESSION_SERVICE_INTERFACE; private static final String TAG = "MediaSession2Service"; private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); @@ -98,7 +100,7 @@ public abstract class MediaSession2Service extends Service { @Override @Nullable public IBinder onBind(@NonNull Intent intent) { - if (SESSION_SERVICE_INTERFACE.equals(intent.getAction())) { + if (SERVICE_INTERFACE.equals(intent.getAction())) { synchronized (mLock) { return mStub; }