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