From f86a56c59168168c91f86c27e49dcf25d7c8bbb4 Mon Sep 17 00:00:00 2001 From: Insun Kang Date: Tue, 22 Jan 2019 17:16:07 +0900 Subject: [PATCH] Add build rule for media2-abi-* - media2-abi-* included in updatable-media.jar - Moves the media2-abi files into media/apex - Resolves a hidden api usage Bug: 123209084 Test: build Change-Id: I9f9b0b9c288da5c7acbfedcb56867ff405ac0d61 --- Android.bp | 13 ++++-- media/Android.bp | 46 ++++++++++++++++++- .../java/android/media/Controller2Link.aidl | 0 .../java/android/media/Controller2Link.java | 0 .../java/android/media/IMediaController2.aidl | 0 .../java/android/media/IMediaSession2.aidl | 0 .../android/media/IMediaSession2Service.aidl | 0 .../java/android/media/MediaConstants.java | 0 .../java/android/media/MediaController2.java | 0 .../java/android/media/MediaItem2.java | 0 .../java/android/media/MediaSession2.java | 0 .../android/media/MediaSession2Service.java | 0 .../java/android/media/Session2Command.aidl | 0 .../java/android/media/Session2Command.java | 0 .../android/media/Session2CommandGroup.java | 7 ++- .../java/android/media/Session2Link.java | 0 .../java/android/media/Session2Token.aidl | 0 .../java/android/media/Session2Token.java | 0 18 files changed, 55 insertions(+), 11 deletions(-) rename media/{ => apex}/java/android/media/Controller2Link.aidl (100%) rename media/{ => apex}/java/android/media/Controller2Link.java (100%) rename media/{ => apex}/java/android/media/IMediaController2.aidl (100%) rename media/{ => apex}/java/android/media/IMediaSession2.aidl (100%) rename media/{ => apex}/java/android/media/IMediaSession2Service.aidl (100%) rename media/{ => apex}/java/android/media/MediaConstants.java (100%) rename media/{ => apex}/java/android/media/MediaController2.java (100%) rename media/{ => apex}/java/android/media/MediaItem2.java (100%) rename media/{ => apex}/java/android/media/MediaSession2.java (100%) rename media/{ => apex}/java/android/media/MediaSession2Service.java (100%) rename media/{ => apex}/java/android/media/Session2Command.aidl (100%) rename media/{ => apex}/java/android/media/Session2Command.java (100%) rename media/{ => apex}/java/android/media/Session2CommandGroup.java (96%) rename media/{ => apex}/java/android/media/Session2Link.java (100%) rename media/{ => apex}/java/android/media/Session2Token.aidl (100%) rename media/{ => apex}/java/android/media/Session2Token.java (100%) diff --git a/Android.bp b/Android.bp index 1d93ee7fe9e07..0c9811b83c3f7 100644 --- a/Android.bp +++ b/Android.bp @@ -49,6 +49,8 @@ java_defaults { "rs/java/**/*.java", ":framework-javastream-protos", + // TODO: Remove this after introduce corresponding srcs under media/java/ + ":mediasession2-srcs", "core/java/android/accessibilityservice/IAccessibilityServiceConnection.aidl", "core/java/android/accessibilityservice/IAccessibilityServiceClient.aidl", @@ -471,14 +473,11 @@ java_defaults { "media/java/android/media/IAudioRoutesObserver.aidl", "media/java/android/media/IAudioService.aidl", "media/java/android/media/IAudioServerStateDispatcher.aidl", - "media/java/android/media/IMediaController2.aidl", "media/java/android/media/IMediaHTTPConnection.aidl", "media/java/android/media/IMediaHTTPService.aidl", "media/java/android/media/IMediaResourceMonitor.aidl", "media/java/android/media/IMediaRouterClient.aidl", "media/java/android/media/IMediaRouterService.aidl", - "media/java/android/media/IMediaSession2.aidl", - "media/java/android/media/IMediaSession2Service.aidl", "media/java/android/media/IMediaScannerListener.aidl", "media/java/android/media/IMediaScannerService.aidl", "media/java/android/media/IPlaybackConfigDispatcher.aidl", @@ -691,6 +690,7 @@ java_defaults { "location/java", "lowpan/java", "media/java", + "media/apex/java", "media/mca/effect/java", "media/mca/filterfw/java", "media/mca/filterpacks/java", @@ -1271,7 +1271,8 @@ stubs_defaults { ":non_openjdk_javadoc_files", ":android_icu4j_src_files_for_docs", ":conscrypt_public_api_files", - ":media2-srcs", + ":mediasession2-stubs-srcs", + ":mediaplayer2-srcs", "test-mock/src/**/*.java", "test-runner/src/**/*.java", ], @@ -1333,7 +1334,8 @@ stubs_defaults { ":non_openjdk_javadoc_files", ":android_icu4j_src_files_for_docs", ":conscrypt_public_api_files", - ":media2-srcs", + ":mediasession2-stubs-srcs", + ":mediaplayer2-srcs", ], srcs_lib: "framework", srcs_lib_whitelist_dirs: frameworks_base_subdirs, @@ -1779,6 +1781,7 @@ filegroup { name: "framework-media-annotation-srcs", srcs: [ "core/java/android/annotation/CallbackExecutor.java", + "core/java/android/annotation/CallSuper.java", "core/java/android/annotation/DrawableRes.java", "core/java/android/annotation/IntDef.java", "core/java/android/annotation/LongDef.java", diff --git a/media/Android.bp b/media/Android.bp index 0eb86acf9ecf1..91e14c716c7bd 100644 --- a/media/Android.bp +++ b/media/Android.bp @@ -15,11 +15,43 @@ filegroup { ], } +filegroup { + name: "mediasession2-srcs", + srcs: [ + "apex/java/android/media/Controller2Link.java", + "apex/java/android/media/IMediaController2.aidl", + "apex/java/android/media/IMediaSession2.aidl", + "apex/java/android/media/IMediaSession2Service.aidl", + "apex/java/android/media/MediaConstants.java", + "apex/java/android/media/MediaController2.java", + "apex/java/android/media/MediaItem2.java", + "apex/java/android/media/MediaSession2.java", + "apex/java/android/media/MediaSession2Service.java", + "apex/java/android/media/Session2Command.java", + "apex/java/android/media/Session2CommandGroup.java", + "apex/java/android/media/Session2Link.java", + "apex/java/android/media/Session2Token.java", + ], +} + +filegroup { + name: "mediasession2-stubs-srcs", + srcs: [ + ":mediasession2-srcs", + ], + exclude_srcs: [ + "apex/java/android/media/IMediaController2.aidl", + "apex/java/android/media/IMediaSession2.aidl", + "apex/java/android/media/IMediaSession2Service.aidl", + ], +} + java_library { name: "updatable-media", srcs: [ - ":media2-srcs", + ":mediasession2-srcs", + ":mediaplayer2-srcs", ":framework-media-annotation-srcs", ], @@ -27,6 +59,16 @@ java_library { "mediaplayer2-protos", ], + aidl: { + export_include_dirs: [ + "apex/java", + ], + + include_dirs: [ + "frameworks/base/core/java", + ], + }, + installable: true, // Make sure that the implementaion only relies on SDK or system APIs. @@ -34,7 +76,7 @@ java_library { } filegroup { - name: "media2-srcs", + name: "mediaplayer2-srcs", srcs: [ "apex/java/android/media/CloseGuard.java", "apex/java/android/media/DataSourceCallback.java", diff --git a/media/java/android/media/Controller2Link.aidl b/media/apex/java/android/media/Controller2Link.aidl similarity index 100% rename from media/java/android/media/Controller2Link.aidl rename to media/apex/java/android/media/Controller2Link.aidl diff --git a/media/java/android/media/Controller2Link.java b/media/apex/java/android/media/Controller2Link.java similarity index 100% rename from media/java/android/media/Controller2Link.java rename to media/apex/java/android/media/Controller2Link.java diff --git a/media/java/android/media/IMediaController2.aidl b/media/apex/java/android/media/IMediaController2.aidl similarity index 100% rename from media/java/android/media/IMediaController2.aidl rename to media/apex/java/android/media/IMediaController2.aidl diff --git a/media/java/android/media/IMediaSession2.aidl b/media/apex/java/android/media/IMediaSession2.aidl similarity index 100% rename from media/java/android/media/IMediaSession2.aidl rename to media/apex/java/android/media/IMediaSession2.aidl diff --git a/media/java/android/media/IMediaSession2Service.aidl b/media/apex/java/android/media/IMediaSession2Service.aidl similarity index 100% rename from media/java/android/media/IMediaSession2Service.aidl rename to media/apex/java/android/media/IMediaSession2Service.aidl diff --git a/media/java/android/media/MediaConstants.java b/media/apex/java/android/media/MediaConstants.java similarity index 100% rename from media/java/android/media/MediaConstants.java rename to media/apex/java/android/media/MediaConstants.java diff --git a/media/java/android/media/MediaController2.java b/media/apex/java/android/media/MediaController2.java similarity index 100% rename from media/java/android/media/MediaController2.java rename to media/apex/java/android/media/MediaController2.java diff --git a/media/java/android/media/MediaItem2.java b/media/apex/java/android/media/MediaItem2.java similarity index 100% rename from media/java/android/media/MediaItem2.java rename to media/apex/java/android/media/MediaItem2.java diff --git a/media/java/android/media/MediaSession2.java b/media/apex/java/android/media/MediaSession2.java similarity index 100% rename from media/java/android/media/MediaSession2.java rename to media/apex/java/android/media/MediaSession2.java diff --git a/media/java/android/media/MediaSession2Service.java b/media/apex/java/android/media/MediaSession2Service.java similarity index 100% rename from media/java/android/media/MediaSession2Service.java rename to media/apex/java/android/media/MediaSession2Service.java diff --git a/media/java/android/media/Session2Command.aidl b/media/apex/java/android/media/Session2Command.aidl similarity index 100% rename from media/java/android/media/Session2Command.aidl rename to media/apex/java/android/media/Session2Command.aidl diff --git a/media/java/android/media/Session2Command.java b/media/apex/java/android/media/Session2Command.java similarity index 100% rename from media/java/android/media/Session2Command.java rename to media/apex/java/android/media/Session2Command.java diff --git a/media/java/android/media/Session2CommandGroup.java b/media/apex/java/android/media/Session2CommandGroup.java similarity index 96% rename from media/java/android/media/Session2CommandGroup.java rename to media/apex/java/android/media/Session2CommandGroup.java index a189c264b0296..2dab697c155d1 100644 --- a/media/java/android/media/Session2CommandGroup.java +++ b/media/apex/java/android/media/Session2CommandGroup.java @@ -71,11 +71,10 @@ public final class Session2CommandGroup implements Parcelable { */ @SuppressWarnings("WeakerAccess") /* synthetic access */ Session2CommandGroup(Parcel in) { - Session2Command[] commands = in.readParcelableArray( - Session2Command.class.getClassLoader(), Session2Command.class); + Parcelable[] commands = in.readParcelableArray(Session2Command.class.getClassLoader()); if (commands != null) { - for (Session2Command command : commands) { - mCommands.add(command); + for (Parcelable command : commands) { + mCommands.add((Session2Command) command); } } } diff --git a/media/java/android/media/Session2Link.java b/media/apex/java/android/media/Session2Link.java similarity index 100% rename from media/java/android/media/Session2Link.java rename to media/apex/java/android/media/Session2Link.java diff --git a/media/java/android/media/Session2Token.aidl b/media/apex/java/android/media/Session2Token.aidl similarity index 100% rename from media/java/android/media/Session2Token.aidl rename to media/apex/java/android/media/Session2Token.aidl diff --git a/media/java/android/media/Session2Token.java b/media/apex/java/android/media/Session2Token.java similarity index 100% rename from media/java/android/media/Session2Token.java rename to media/apex/java/android/media/Session2Token.java