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