• 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
15package {
16    // See: http://go/android-license-faq
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20// The dex jar produced by this is used in the APEX but otherwise this is not
21// used.
22java_library {
23    name: "updatable-media",
24
25    static_libs: [
26        "framework-media.impl",
27    ],
28
29    permitted_packages: [
30        "android.media",
31    ],
32
33    // Optimize the dex jar for the APEX.
34    optimize: {
35        enabled: true,
36        shrink: true,
37        proguard_compatibility: true,
38        proguard_flags_files: ["updatable-media-proguard.flags"],
39    },
40
41    installable: true,
42
43    sdk_version: "module_current",
44
45    hostdex: true, // for hiddenapi check
46    apex_available: [
47        "com.android.media",
48        "test_com.android.media",
49    ],
50    min_sdk_version: "29",
51    visibility: [
52        // This MUST not be used for compilation within the media module, use
53        // framework-media.impl instead.
54        "//frameworks/av/apex:__subpackages__",
55
56        // DO NOT REMOVE: Legacy visibility, needed for snapshots that are
57        // generated for the S build.
58        "//frameworks/base",
59        "//frameworks/base/apex/media/service",
60    ],
61}
62
63filegroup {
64    name: "updatable-media-srcs",
65    defaults: ["framework-sources-module-defaults"],
66    srcs: [
67        "java/android/media/MediaFrameworkInitializer.java",
68        ":media-aidl-srcs",
69        ":mediaparceledlistslice-java-srcs",
70        ":mediaparser-srcs",
71        ":mediasession2-java-srcs",
72        ":mediatranscoding-srcs",
73    ],
74}
75
76filegroup {
77    name: "mediasession2-java-srcs",
78    srcs: [
79        "java/android/media/Controller2Link.java",
80        "java/android/media/MediaConstants.java",
81        "java/android/media/MediaController2.java",
82        "java/android/media/MediaSession2.java",
83        "java/android/media/MediaSession2Service.java",
84        "java/android/media/Session2Command.java",
85        "java/android/media/Session2CommandGroup.java",
86        "java/android/media/Session2Link.java",
87        "java/android/media/Session2Token.java",
88        "java/android/media/MediaCommunicationManager.java",
89    ],
90    path: "java",
91}
92
93filegroup {
94    name: "mediaparceledlistslice-java-srcs",
95    srcs: [
96        "java/android/media/MediaParceledListSlice.java",
97        "java/android/media/BaseMediaParceledListSlice.java",
98    ],
99    path: "java",
100}
101
102filegroup {
103    name: "mediaparser-srcs",
104    srcs: [
105        "java/android/media/MediaParser.java",
106    ],
107    path: "java",
108}
109
110filegroup {
111    name: "mediatranscoding-srcs",
112    srcs: [
113        "java/android/media/ApplicationMediaCapabilities.java",
114        "java/android/media/MediaFeature.java",
115        "java/android/media/MediaTranscodingManager.java",
116    ],
117    path: "java",
118}
119
120java_sdk_library {
121    name: "framework-media",
122    defaults: ["framework-module-defaults"],
123
124    srcs: [
125        ":updatable-media-srcs",
126    ],
127
128    impl_library_visibility: [
129        "//frameworks/base/api", // For framework-all
130        "//packages/modules/Media:__subpackages__",
131    ],
132
133    sdk_version: "module_current",
134    impl_only_libs: [
135        "androidx.annotation_annotation",
136        "framework-annotations-lib",
137    ],
138    impl_only_static_libs: [
139        "exoplayer-media_apex",
140        "mediatranscoding_aidl_interface-java",
141        "modules-annotation-minsdk",
142        "modules-utils-build",
143    ],
144    jarjar_rules: "jarjar_rules.txt",
145
146    apex_available: [
147        "com.android.media",
148        "test_com.android.media",
149    ],
150    lint: {
151        strict_updatability_linting: true,
152    },
153    min_sdk_version: "29",
154    permitted_packages: [
155        "android.media",
156    ],
157    static_libs: [
158        "media_mainline_flags_java_lib",
159    ]
160}
161
162cc_library_shared {
163    name: "libmediaparser-jni",
164    srcs: [
165        "jni/android_media_MediaParserJNI.cpp",
166    ],
167    header_libs: ["jni_headers"],
168    shared_libs: [
169        "libandroid",
170        "liblog",
171        "libmediametrics",
172    ],
173    cflags: [
174        "-Wall",
175        "-Werror",
176        "-Wno-unused-parameter",
177        "-Wunreachable-code",
178        "-Wunused",
179    ],
180    apex_available: [
181        "com.android.media",
182    ],
183    min_sdk_version: "29",
184}
185