1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "system_bt_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["system_bt_license"],
8}
9
10cc_library_shared {
11    name: "libbluetooth-binder",
12    product_variables: {
13        pdk: {
14            enabled: false,
15        },
16    },
17    srcs: [
18        "android/bluetooth/bluetooth_device.cc",
19        "android/bluetooth/IBluetoothSocketManager.aidl",
20        "android/os/parcel_uuid.cc",
21        /* TODO: Uncomment this files as they get converted one-by-one into native implementation
22        "android/bluetooth/IBluetooth.aidl",
23        "android/bluetooth/IBluetoothA2dp.aidl",
24        "android/bluetooth/IBluetoothA2dpSink.aidl",
25        "android/bluetooth/IBluetoothAvrcpController.aidl",
26        "android/bluetooth/IBluetoothAvrcpTarget.aidl",
27        "android/bluetooth/IBluetoothCallback.aidl",
28        "android/bluetooth/IBluetoothProfileServiceConnection.aidl",
29        "android/bluetooth/IBluetoothHeadset.aidl",
30        "android/bluetooth/IBluetoothHearingAid.aidl",
31        "android/bluetooth/IBluetoothVolumeControl.aidl",
32        "android/bluetooth/IBluetoothHidHost.aidl",
33        "android/bluetooth/IBluetoothPan.aidl",
34        "android/bluetooth/IBluetoothManager.aidl",
35        "android/bluetooth/IBluetoothManagerCallback.aidl",
36        "android/bluetooth/IBluetoothMap.aidl",
37        "android/bluetooth/IBluetoothMapClient.aidl",
38        "android/bluetooth/IBluetoothPbap.aidl",
39        "android/bluetooth/IBluetoothPbapClient.aidl",
40        "android/bluetooth/IBluetoothSap.aidl",
41        "android/bluetooth/IBluetoothStateChangeCallback.aidl",
42        "android/bluetooth/IBluetoothHeadsetClient.aidl",
43        "android/bluetooth/IBluetoothHidDevice.aidl",
44        "android/bluetooth/IBluetoothHidDeviceCallback.aidl",
45        "android/bluetooth/IBluetoothGatt.aidl",
46        "android/bluetooth/IBluetoothGattCallback.aidl",
47        "android/bluetooth/IBluetoothMetadataListener.aidl",
48        "android/bluetooth/IBluetoothGattServerCallback.aidl",
49        "android/bluetooth/IBluetoothOobDataCallback.aidl",
50        "android/bluetooth/le/IAdvertisingSetCallback.aidl",
51        "android/bluetooth/le/IPeriodicAdvertisingCallback.aidl",
52        "android/bluetooth/le/IScannerCallback.aidl"
53        "android/bluetooth/IBluetoothConnectionCallback.aidl",
54        */
55    ],
56    export_include_dirs: ["./"],
57    aidl: {
58        export_aidl_headers: true,
59        include_dirs: [
60            "frameworks/native/aidl/binder",
61
62            /* required for android.os.ParcelUuid, and android.os.ParcelFileDescriptor */
63            "frameworks/base/core/java",
64            "system/bt/binder",
65        ],
66    },
67    include_dirs: [
68        "system/bt/types",
69    ],
70    shared_libs: [
71        "libandroid_runtime",
72        "libbinder",
73        "libchrome",
74        "libnativehelper",
75        "libcutils",
76        "libutils",
77        "liblog",
78    ],
79
80    static_libs: [
81        "libbluetooth-types",
82    ],
83    cflags: [
84        "-Wall",
85        "-Werror",
86        "-Wextra",
87        "-Wno-unused-parameter",
88    ],
89    sanitize: {
90        scs: true,
91    },
92}
93
94// AIDL interface between libbluetooth-binder and framework.jar
95filegroup {
96    name: "libbluetooth-binder-aidl",
97    srcs: [
98        "android/bluetooth/IBluetooth.aidl",
99        "android/bluetooth/IBluetoothA2dp.aidl",
100        "android/bluetooth/IBluetoothA2dpSink.aidl",
101        "android/bluetooth/IBluetoothAvrcpController.aidl",
102        "android/bluetooth/IBluetoothAvrcpTarget.aidl",
103        "android/bluetooth/IBluetoothCallback.aidl",
104        "android/bluetooth/IBluetoothProfileServiceConnection.aidl",
105        "android/bluetooth/IBluetoothHeadset.aidl",
106        "android/bluetooth/IBluetoothHearingAid.aidl",
107        "android/bluetooth/IBluetoothVolumeControl.aidl",
108        "android/bluetooth/IBluetoothHidHost.aidl",
109        "android/bluetooth/IBluetoothLeAudio.aidl",
110        "android/bluetooth/IBluetoothPan.aidl",
111        "android/bluetooth/IBluetoothManager.aidl",
112        "android/bluetooth/IBluetoothManagerCallback.aidl",
113        "android/bluetooth/IBluetoothMap.aidl",
114        "android/bluetooth/IBluetoothMapClient.aidl",
115        "android/bluetooth/IBluetoothPbap.aidl",
116        "android/bluetooth/IBluetoothPbapClient.aidl",
117        "android/bluetooth/IBluetoothSap.aidl",
118        "android/bluetooth/IBluetoothSocketManager.aidl",
119        "android/bluetooth/IBluetoothStateChangeCallback.aidl",
120        "android/bluetooth/IBluetoothHeadsetClient.aidl",
121        "android/bluetooth/IBluetoothHidDevice.aidl",
122        "android/bluetooth/IBluetoothHidDeviceCallback.aidl",
123        "android/bluetooth/IBluetoothGatt.aidl",
124        "android/bluetooth/IBluetoothGattCallback.aidl",
125        "android/bluetooth/IBluetoothMetadataListener.aidl",
126        "android/bluetooth/IBluetoothGattServerCallback.aidl",
127        "android/bluetooth/IBluetoothOobDataCallback.aidl",
128        "android/bluetooth/le/IAdvertisingSetCallback.aidl",
129        "android/bluetooth/le/IPeriodicAdvertisingCallback.aidl",
130        "android/bluetooth/le/IScannerCallback.aidl",
131        "android/bluetooth/IBluetoothConnectionCallback.aidl",
132    ],
133}
134