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
This commit is contained in:
Hyundo Moon
2019-01-28 15:43:24 +09:00
committed by Sungsoo Lim
parent f04cda916f
commit 14ca142e65
4 changed files with 10 additions and 21 deletions

View File

@@ -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",

View File

@@ -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 {

View File

@@ -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",
],

View File

@@ -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;
}