1// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
2//     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
3//     DEPENDING ON IT IN YOUR PROJECT. ***
4package {
5    default_applicable_licenses: ["frameworks_av_license"],
6}
7
8// Added automatically by a large-scale-change that took the approach of
9// 'apply every license found to every target'. While this makes sure we respect
10// every license restriction, it may not be entirely correct.
11//
12// e.g. GPL in an MIT project might only apply to the contrib/ directory.
13//
14// Please consider splitting the single license below into multiple licenses,
15// taking care not to lose any license_kind information, and overriding the
16// default license using the 'licenses: [...]' property on targets as needed.
17//
18// For unused files, consider creating a 'fileGroup' with "//visibility:private"
19// to attach the license to, and including a comment whether the files may be
20// used in the current project.
21// See: http://go/android-license-faq
22license {
23    name: "frameworks_av_license",
24    visibility: [":__subpackages__"],
25    license_kinds: [
26        "SPDX-license-identifier-Apache-2.0",
27        "SPDX-license-identifier-BSD",
28        "SPDX-license-identifier-MIT",
29        "SPDX-license-identifier-Unicode-DFS",
30        "legacy_by_exception_only", // by exception only
31    ],
32    license_text: [
33        "NOTICE",
34    ],
35}
36
37aidl_interface_defaults {
38    name: "audio-aidl-defaults",
39    unstable: true,
40    host_supported: true,
41    backend: {
42        cpp: {
43            enabled: true,
44        },
45        java: {
46            enabled: true,
47        },
48        rust: {
49            enabled: true,
50        },
51    },
52
53}
54
55aidl_interface {
56    name: "av-types-aidl",
57    unstable: true,
58    host_supported: true,
59    vendor_available: true,
60    double_loadable: true,
61    local_include_dir: "aidl",
62    srcs: [
63        "aidl/android/media/InterpolatorConfig.aidl",
64        "aidl/android/media/InterpolatorType.aidl",
65        "aidl/android/media/MicrophoneInfoFw.aidl",
66        "aidl/android/media/VolumeShaperConfiguration.aidl",
67        "aidl/android/media/VolumeShaperConfigurationOptionFlag.aidl",
68        "aidl/android/media/VolumeShaperConfigurationType.aidl",
69        "aidl/android/media/VolumeShaperOperation.aidl",
70        "aidl/android/media/VolumeShaperOperationFlag.aidl",
71        "aidl/android/media/VolumeShaperState.aidl",
72    ],
73    defaults: [
74        "latest_android_media_audio_common_types_import_interface",
75    ],
76    backend: {
77        cpp: {
78            min_sdk_version: "29",
79            apex_available: [
80                "//apex_available:platform",
81                "com.android.btservices",
82                "com.android.media",
83                "com.android.media.swcodec",
84            ],
85        },
86        java: {
87            sdk_version: "module_current",
88        },
89    },
90}
91
92aidl_interface {
93    name: "audio-permission-aidl",
94    // TODO remove
95    vendor_available: true,
96    double_loadable: true,
97    defaults: ["audio-aidl-defaults"],
98    local_include_dir: "aidl",
99    srcs: [
100        "aidl/com/android/media/permission/*",
101    ],
102}
103
104cc_library_headers {
105    name: "av-headers",
106    export_include_dirs: ["include"],
107    static_libs: [
108        "av-types-aidl-cpp",
109    ],
110    export_static_lib_headers: [
111        "av-types-aidl-cpp",
112    ],
113    header_libs: [
114        "libaudio_aidl_conversion_common_util_cpp",
115    ],
116    export_header_lib_headers: [
117        "libaudio_aidl_conversion_common_util_cpp",
118    ],
119    host_supported: true,
120    vendor_available: true,
121    double_loadable: true,
122    min_sdk_version: "29",
123    apex_available: [
124        "//apex_available:platform",
125        "com.android.btservices",
126        "com.android.media",
127        "com.android.media.swcodec",
128    ],
129    target: {
130        darwin: {
131            enabled: false,
132        },
133    },
134}
135
136aidl_interface {
137    name: "av-audio-types-aidl",
138    host_supported: true,
139    vendor_available: true,
140    double_loadable: true,
141    local_include_dir: "aidl",
142    srcs: [
143        "aidl/android/media/audio/IHalAdapterVendorExtension.aidl",
144    ],
145    defaults: [
146        "latest_android_hardware_audio_core_import_interface",
147    ],
148    backend: {
149        // The C++ backend is disabled transitively due to use of FMQ by the audio core HAL.
150        cpp: {
151            enabled: false,
152        },
153        java: {
154            sdk_version: "module_current",
155        },
156    },
157    versions_with_info: [
158        {
159            version: "1",
160            imports: ["android.hardware.audio.core-V2"],
161        },
162    ],
163    frozen: true,
164
165}
166
167latest_av_audio_types_aidl = "av-audio-types-aidl-V1"
168
169cc_defaults {
170    name: "latest_av_audio_types_aidl_ndk_shared",
171    shared_libs: [
172        latest_av_audio_types_aidl + "-ndk",
173    ],
174}
175
176cc_defaults {
177    name: "latest_av_audio_types_aidl_ndk_static",
178    static_libs: [
179        latest_av_audio_types_aidl + "-ndk",
180    ],
181}
182