• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15java_library {
16    name: "updatable-media",
17
18    srcs: [
19        ":updatable-media-srcs",
20    ],
21
22    permitted_packages: [
23        "android.media",
24    ],
25
26    optimize: {
27        enabled: true,
28        shrink: true,
29        proguard_flags_files: ["updatable-media-proguard.flags"],
30    },
31
32    installable: true,
33
34    sdk_version: "module_current",
35    libs: [
36        "framework_media_annotation",
37    ],
38    static_libs: [
39        "exoplayer2-extractor"
40    ],
41    jarjar_rules: "jarjar_rules.txt",
42
43    plugins: ["java_api_finder"],
44
45    hostdex: true, // for hiddenapi check
46    visibility: ["//frameworks/av/apex:__subpackages__"],
47    apex_available: [
48        "com.android.media",
49        "test_com.android.media",
50    ],
51    min_sdk_version: "29",
52}
53
54filegroup {
55    name: "updatable-media-srcs",
56    srcs: [
57        ":mediaparser-srcs",
58        ":mediasession2-java-srcs",
59        ":mediasession2-aidl-srcs",
60    ],
61}
62
63filegroup {
64    name: "mediasession2-java-srcs",
65    srcs: [
66        "java/android/media/Controller2Link.java",
67        "java/android/media/MediaConstants.java",
68        "java/android/media/MediaController2.java",
69        "java/android/media/MediaSession2.java",
70        "java/android/media/MediaSession2Service.java",
71        "java/android/media/Session2Command.java",
72        "java/android/media/Session2CommandGroup.java",
73        "java/android/media/Session2Link.java",
74        "java/android/media/Session2Token.java",
75    ],
76    path: "java",
77}
78
79filegroup {
80    name: "mediaparser-srcs",
81    srcs: [
82        "java/android/media/MediaParser.java"
83    ],
84    path: "java",
85}
86
87java_sdk_library {
88    name: "framework-media",
89    defaults: ["framework-module-defaults"],
90
91    // This is only used to define the APIs for updatable-media.
92    api_only: true,
93
94    srcs: [
95        ":updatable-media-srcs",
96    ],
97
98    libs: [
99        "framework_media_annotation",
100    ],
101
102    // Allow access to the stubs from anywhere.
103    visibility: ["//visibility:public"],
104
105    // Restrict access to implementation library.
106    impl_library_visibility: [
107       "//visibility:override", // Ignore the visibility property.
108       "//frameworks/av/apex:__subpackages__",
109    ],
110}
111
112java_library {
113    name: "framework_media_annotation",
114    srcs: [":framework-media-annotation-srcs"],
115    installable: false,
116    sdk_version: "core_current",
117}
118
119cc_library_shared {
120    name: "libmediaparser-jni",
121    srcs: [
122        "jni/android_media_MediaParserJNI.cpp",
123    ],
124    shared_libs: [
125        "libandroid",
126        "liblog",
127        "libmediametrics",
128    ],
129    cflags: [
130        "-Wall",
131        "-Werror",
132        "-Wno-unused-parameter",
133        "-Wunreachable-code",
134        "-Wunused",
135    ],
136    apex_available: [
137        "com.android.media",
138    ],
139    min_sdk_version: "29",
140}
141