From e634b3db677ea457101ede133d7fc8a31450a900 Mon Sep 17 00:00:00 2001 From: Richard Gaywood <richardgaywood@google.com> Date: Thu, 10 Mar 2022 10:55:06 +0000 Subject: [PATCH] Revert "check check, is anyone there? *static*" Revert submission 17016040-change-17016040 Reason for revert: DroidMonitor-triggered revert due to breakage , bug b/223737148 BUG: 223737148 Reverted Changes: I6cdcee15a:Fix bluetooth and aac dependency I0d232c8bc:check check, is anyone there? *static* Change-Id: I76a03e2b2d54e27e590a97001e9ef0ef6c98a374 Test: N/A, this is a rollback --- android/app/Android.bp | 11 +- .../app/jni/com_android_bluetooth_a2dp.cpp | 2 + .../jni/com_android_bluetooth_a2dp_sink.cpp | 2 + ...com_android_bluetooth_avrcp_controller.cpp | 2 + ...oid_bluetooth_btservice_AdapterService.cpp | 8 - ...android_bluetooth_csip_set_coordinator.cpp | 1 + .../app/jni/com_android_bluetooth_gatt.cpp | 2 + .../jni/com_android_bluetooth_hap_client.cpp | 2 + .../jni/com_android_bluetooth_hearing_aid.cpp | 2 + android/app/jni/com_android_bluetooth_hfp.cpp | 2 + .../jni/com_android_bluetooth_hfpclient.cpp | 1 + .../jni/com_android_bluetooth_hid_device.cpp | 2 + .../jni/com_android_bluetooth_hid_host.cpp | 2 + .../jni/com_android_bluetooth_le_audio.cpp | 2 + android/app/jni/com_android_bluetooth_pan.cpp | 2 + android/app/jni/com_android_bluetooth_sdp.cpp | 2 + android/app/jni/com_android_bluetooth_vc.cpp | 2 + apex/Android.bp | 3 + system/audio_hal_interface/fuzzer/Android.bp | 3 - system/bta/Android.bp | 22 ++- system/btcore/Android.bp | 14 +- system/btcore/fuzzer/Android.bp | 3 - system/btif/Android.bp | 41 ++-- system/build/Android.bp | 176 +----------------- system/common/Android.bp | 9 +- system/device/Android.bp | 5 +- system/gd/Android.bp | 41 +--- system/gd/common/byte_array_test.cc | 4 +- system/gd/common/circular_buffer_test.cc | 2 +- system/gd/common/list_map_test.cc | 6 +- system/gd/common/lru_cache_test.cc | 20 +- system/gd/common/multi_priority_queue_test.cc | 2 +- system/gd/common/sync_map_count_test.cc | 40 ++-- system/gd/hal/hci_hal_host_test.cc | 2 +- system/gd/hci/class_of_device_unittest.cc | 4 +- system/gd/hci/hci_packets_test.cc | 34 ++-- system/gd/l2cap/l2cap_packet_test.cc | 10 +- system/gd/os/linux_generic/queue_unittest.cc | 6 +- .../wakelock_manager_unittest.cc | 10 +- .../packet/fragmenting_inserter_unittest.cc | 14 +- system/gd/packet/packet_view_unittest.cc | 12 +- .../parser/test/generated_packet_test.cc | 6 +- system/gd/rust/shim/Android.bp | 25 ++- system/gd/rust/topshim/Android.bp | 8 +- system/gd/rust/topshim/btav/btav_shim.cc | 2 +- system/gd/rust/topshim/btif/btif_shim.cc | 2 +- system/gd/rust/topshim/facade/Android.bp | 19 +- system/gd/storage/config_cache_helper_test.cc | 4 +- system/hci/Android.bp | 66 ++++++- system/include/Android.bp | 2 +- system/main/Android.bp | 72 ++++++- system/osi/Android.bp | 10 +- system/packet/Android.bp | 4 +- system/packet/tests/fuzzers/Android.bp | 50 ----- system/profile/avrcp/Android.bp | 12 +- system/profile/sdp/Android.bp | 2 - system/service/Android.bp | 89 +-------- system/service/hal/bluetooth_interface.cc | 11 -- system/stack/Android.bp | 21 ++- system/test/headless/Android.bp | 21 +-- system/test/rootcanal/Android.bp | 12 +- system/test/suite/Android.bp | 142 ++++---------- system/test/suite/adapter/bluetooth_test.cc | 10 +- 63 files changed, 449 insertions(+), 671 deletions(-) diff --git a/android/app/Android.bp b/android/app/Android.bp index 48cd34ff796..2d986ae2e4e 100644 --- a/android/app/Android.bp +++ b/android/app/Android.bp @@ -52,7 +52,6 @@ java_library { cc_library_shared { name: "libbluetooth_jni", - defaults: ["fluoride_full_defaults"], srcs: ["jni/**/*.cpp"], header_libs: [ "jni_headers", @@ -61,9 +60,14 @@ cc_library_shared { include_dirs: [ "packages/modules/Bluetooth/system/types", ], + shared_libs: [ + "libbase", + "libchrome", + "liblog", + "libnativehelper", + ], static_libs: [ "libbluetooth-types", - "libbluetooth", ], cflags: [ "-Wall", @@ -74,6 +78,9 @@ cc_library_shared { sanitize: { scs: true, }, + apex_available: [ + "com.android.bluetooth", + ], min_sdk_version: "current", } diff --git a/android/app/jni/com_android_bluetooth_a2dp.cpp b/android/app/jni/com_android_bluetooth_a2dp.cpp index 3f7b1634798..abc8830b518 100644 --- a/android/app/jni/com_android_bluetooth_a2dp.cpp +++ b/android/app/jni/com_android_bluetooth_a2dp.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothA2dpServiceJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_av.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_a2dp_sink.cpp b/android/app/jni/com_android_bluetooth_a2dp_sink.cpp index 6b2cbbfbe06..a74b18d6fba 100644 --- a/android/app/jni/com_android_bluetooth_a2dp_sink.cpp +++ b/android/app/jni/com_android_bluetooth_a2dp_sink.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothA2dpSinkServiceJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_av.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_avrcp_controller.cpp b/android/app/jni/com_android_bluetooth_avrcp_controller.cpp index 316e1d0ac17..86bf0687913 100755 --- a/android/app/jni/com_android_bluetooth_avrcp_controller.cpp +++ b/android/app/jni/com_android_bluetooth_avrcp_controller.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothAvrcpControllerJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_rc.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_btservice_AdapterService.cpp b/android/app/jni/com_android_bluetooth_btservice_AdapterService.cpp index e761eb638d2..3c5bcdb276a 100644 --- a/android/app/jni/com_android_bluetooth_btservice_AdapterService.cpp +++ b/android/app/jni/com_android_bluetooth_btservice_AdapterService.cpp @@ -36,9 +36,6 @@ #include <pthread.h> using bluetooth::Uuid; -#ifndef DYNAMIC_LOAD_BLUETOOTH -extern bt_interface_t bluetoothInterface; -#endif namespace android { // Both @@ -849,10 +846,6 @@ static bt_os_callouts_t sBluetoothOsCallouts = { }; int hal_util_load_bt_library(const bt_interface_t** interface) { -#ifndef DYNAMIC_LOAD_BLUETOOTH - *interface = &bluetoothInterface; - return 0; -#else const char* sym = BLUETOOTH_INTERFACE_STRING; bt_interface_t* itf = nullptr; @@ -882,7 +875,6 @@ error: if (handle) dlclose(handle); return -EINVAL; -#endif } static void classInitNative(JNIEnv* env, jclass clazz) { diff --git a/android/app/jni/com_android_bluetooth_csip_set_coordinator.cpp b/android/app/jni/com_android_bluetooth_csip_set_coordinator.cpp index 431247a9443..45ebe6e807e 100644 --- a/android/app/jni/com_android_bluetooth_csip_set_coordinator.cpp +++ b/android/app/jni/com_android_bluetooth_csip_set_coordinator.cpp @@ -16,6 +16,7 @@ * limitations under the License. */ #define LOG_TAG "BluetoothCsipSetCoordinatorJni" +#define LOG_NDEBUG 0 #include <string.h> #include <shared_mutex> diff --git a/android/app/jni/com_android_bluetooth_gatt.cpp b/android/app/jni/com_android_bluetooth_gatt.cpp index cb360a80bb6..a9802acdb95 100644 --- a/android/app/jni/com_android_bluetooth_gatt.cpp +++ b/android/app/jni/com_android_bluetooth_gatt.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BtGatt.JNI" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_gatt.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_hap_client.cpp b/android/app/jni/com_android_bluetooth_hap_client.cpp index 1d77a27eb33..e94cb59f768 100644 --- a/android/app/jni/com_android_bluetooth_hap_client.cpp +++ b/android/app/jni/com_android_bluetooth_hap_client.cpp @@ -17,6 +17,8 @@ #define LOG_TAG "BluetoothHapClientJni" +#define LOG_NDEBUG 0 + #include <string.h> #include <shared_mutex> diff --git a/android/app/jni/com_android_bluetooth_hearing_aid.cpp b/android/app/jni/com_android_bluetooth_hearing_aid.cpp index 5e2f88e680a..e359faf8a4b 100644 --- a/android/app/jni/com_android_bluetooth_hearing_aid.cpp +++ b/android/app/jni/com_android_bluetooth_hearing_aid.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothHearingAidServiceJni" +#define LOG_NDEBUG 0 + #include "base/logging.h" #include "com_android_bluetooth.h" #include "hardware/bt_hearing_aid.h" diff --git a/android/app/jni/com_android_bluetooth_hfp.cpp b/android/app/jni/com_android_bluetooth_hfp.cpp index fffaf8ccb48..813bdd0818b 100644 --- a/android/app/jni/com_android_bluetooth_hfp.cpp +++ b/android/app/jni/com_android_bluetooth_hfp.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothHeadsetServiceJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bluetooth_headset_callbacks.h" #include "hardware/bluetooth_headset_interface.h" diff --git a/android/app/jni/com_android_bluetooth_hfpclient.cpp b/android/app/jni/com_android_bluetooth_hfpclient.cpp index c3e0c9842b5..763885e3d3e 100644 --- a/android/app/jni/com_android_bluetooth_hfpclient.cpp +++ b/android/app/jni/com_android_bluetooth_hfpclient.cpp @@ -16,6 +16,7 @@ */ #define LOG_TAG "BluetoothHeadsetClientServiceJni" +#define LOG_NDEBUG 0 #include "com_android_bluetooth.h" #include "hardware/bt_hf_client.h" diff --git a/android/app/jni/com_android_bluetooth_hid_device.cpp b/android/app/jni/com_android_bluetooth_hid_device.cpp index 2146222acdb..17b6e97c015 100644 --- a/android/app/jni/com_android_bluetooth_hid_device.cpp +++ b/android/app/jni/com_android_bluetooth_hid_device.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothHidDeviceServiceJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_hd.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_hid_host.cpp b/android/app/jni/com_android_bluetooth_hid_host.cpp index 7a164233bc1..074e39d5b02 100644 --- a/android/app/jni/com_android_bluetooth_hid_host.cpp +++ b/android/app/jni/com_android_bluetooth_hid_host.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothHidHostServiceJni" +#define LOG_NDEBUG 1 + #include "com_android_bluetooth.h" #include "hardware/bt_hh.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_le_audio.cpp b/android/app/jni/com_android_bluetooth_le_audio.cpp index ae0b2c4bbd6..de215273324 100644 --- a/android/app/jni/com_android_bluetooth_le_audio.cpp +++ b/android/app/jni/com_android_bluetooth_le_audio.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothLeAudioServiceJni" +#define LOG_NDEBUG 0 + #include <hardware/bluetooth.h> #include <array> diff --git a/android/app/jni/com_android_bluetooth_pan.cpp b/android/app/jni/com_android_bluetooth_pan.cpp index 84d7b1c78b0..b02ae9f9b15 100644 --- a/android/app/jni/com_android_bluetooth_pan.cpp +++ b/android/app/jni/com_android_bluetooth_pan.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothPanServiceJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_pan.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_sdp.cpp b/android/app/jni/com_android_bluetooth_sdp.cpp index ded546a05d8..bba109ac456 100755 --- a/android/app/jni/com_android_bluetooth_sdp.cpp +++ b/android/app/jni/com_android_bluetooth_sdp.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "BluetoothSdpJni" +#define LOG_NDEBUG 0 + #include "com_android_bluetooth.h" #include "hardware/bt_sdp.h" #include "utils/Log.h" diff --git a/android/app/jni/com_android_bluetooth_vc.cpp b/android/app/jni/com_android_bluetooth_vc.cpp index cc1e296e55a..22baaeaa7fb 100644 --- a/android/app/jni/com_android_bluetooth_vc.cpp +++ b/android/app/jni/com_android_bluetooth_vc.cpp @@ -17,6 +17,8 @@ #define LOG_TAG "BluetoothVolumeControlServiceJni" +#define LOG_NDEBUG 0 + #include <string.h> #include <shared_mutex> diff --git a/apex/Android.bp b/apex/Android.bp index 6c12f1d52db..1050e9f9552 100644 --- a/apex/Android.bp +++ b/apex/Android.bp @@ -16,6 +16,9 @@ apex_defaults { multilib: { first: { // Extractor process runs only with the primary ABI. + native_shared_libs: [ + "libbluetooth", + ], jni_libs: [ "libbluetooth_jni", ], diff --git a/system/audio_hal_interface/fuzzer/Android.bp b/system/audio_hal_interface/fuzzer/Android.bp index 704624f32e5..f1724af3d49 100644 --- a/system/audio_hal_interface/fuzzer/Android.bp +++ b/system/audio_hal_interface/fuzzer/Android.bp @@ -59,8 +59,6 @@ cc_defaults { "libbtcore", "libbt-bta", "libbt-hci", - "libbt_shim_bridge", - "libbt_shim_ffi", "libjsoncpp", "libbt-utils", "libbtdevice", @@ -86,7 +84,6 @@ cc_defaults { "libprotobuf-cpp-lite", "libbt-audio-hal-interface", "libbluetooth_rust_interop", - "libaudio-a2dp-hw-utils", ], include_dirs: [ "packages/modules/Bluetooth/system", diff --git a/system/bta/Android.bp b/system/bta/Android.bp index abacd62f4f8..03a35f94896 100644 --- a/system/bta/Android.bp +++ b/system/bta/Android.bp @@ -9,7 +9,7 @@ package { cc_defaults { name: "fluoride_bta_defaults", - defaults: ["fluoride_basic_defaults"], + defaults: ["fluoride_defaults"], local_include_dirs: [ "include", "sys", @@ -31,6 +31,9 @@ cc_defaults { "packages/modules/Bluetooth/system/utils/include", "packages/modules/Bluetooth/system/gd/rust/shim", ], + shared_libs: [ + "libcutils", + ], header_libs: ["libbluetooth_headers"], cflags: ["-DBUILDCFG"], } @@ -139,8 +142,21 @@ cc_library_static { ], static_libs: [ "avrcp-target-service", + "libflatbuffers-cpp", "lib-bt-packets", + "libbt-platform-protos-lite", ], + shared_libs: [ + "android.hardware.bluetooth.audio@2.0", + "android.hardware.bluetooth.audio@2.1", + ], + target: { + android: { + shared_libs: [ + "android.hardware.bluetooth.audio-V1-ndk", + ], + }, + }, generated_headers: [ "LeAudioSetConfigSchemas_h", ], @@ -239,6 +255,7 @@ cc_test { shared_libs: [ "libbase", "libcrypto", + "libflatbuffers-cpp", "liblog", "libprotobuf-cpp-lite", ], @@ -247,7 +264,6 @@ cc_test { "libbt-common", "libbt-protos-lite", "libbtcore", - "libflatbuffers-cpp", "libgmock", ], sanitize: { @@ -807,4 +823,4 @@ cc_test { undefined : true }, }, -} +} \ No newline at end of file diff --git a/system/btcore/Android.bp b/system/btcore/Android.bp index 1030e5a18b3..f4b20a76ed7 100644 --- a/system/btcore/Android.bp +++ b/system/btcore/Android.bp @@ -10,7 +10,7 @@ package { cc_defaults { name: "libbtcore_defaults", - defaults: ["fluoride_basic_defaults"], + defaults: ["fluoride_defaults"], local_include_dirs: ["include"], include_dirs: [ "packages/modules/Bluetooth/system", @@ -23,8 +23,15 @@ cc_defaults { "src/osi_module.cc", "src/property.cc", ], + shared_libs: [ + "liblog", + ], header_libs: ["libbluetooth_headers"], host_supported: true, + apex_available: [ + "//apex_available:platform", + "com.android.bluetooth", + ], target: { linux_glibc: { cflags: ["-D_GNU_SOURCE"], @@ -41,6 +48,11 @@ cc_library_static { defaults: ["libbtcore_defaults"], } +cc_library_static { + name: "libbtcore-static", + defaults: ["libbtcore_defaults"], +} + cc_library_headers { name: "libbtcore_headers", defaults: ["libchrome_support_defaults"], diff --git a/system/btcore/fuzzer/Android.bp b/system/btcore/fuzzer/Android.bp index ce8292cd8dd..7368d715a2e 100644 --- a/system/btcore/fuzzer/Android.bp +++ b/system/btcore/fuzzer/Android.bp @@ -48,9 +48,6 @@ cc_defaults { "libbluetooth-protos", "libprotobuf-cpp-lite", "libbluetooth_rust_interop", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], include_dirs: [ "packages/modules/Bluetooth/system", diff --git a/system/btif/Android.bp b/system/btif/Android.bp index 86e8211bd6f..c31250d8006 100644 --- a/system/btif/Android.bp +++ b/system/btif/Android.bp @@ -93,7 +93,7 @@ genrule { // libbtif static library for target cc_defaults { name: "libbtif_defaults", - defaults: ["fluoride_basic_defaults"], + defaults: ["fluoride_defaults"], include_dirs: btifCommonIncludes, srcs: [ // AVRCP Target Service @@ -160,8 +160,25 @@ cc_defaults { "BluetoothGeneratedDumpsysDataSchema_h", "BluetoothGeneratedPackets_h", ], + shared_libs: [ + "android.hardware.bluetooth.a2dp@1.0", + "android.hardware.bluetooth.audio@2.0", + "android.hardware.bluetooth.audio@2.1", + "libcrypto", + "libflatbuffers-cpp", + "libhidlbase", + "libtinyxml2", + "libz", + ], target: { android: { + shared_libs: [ + "android.hardware.bluetooth.audio-V1-ndk", + "libaaudio", + "libbinder_ndk", + "libfmq", + "libstatslog_bt", + ], srcs: ["src/btif_avrcp_audio_track.cc"], }, host: { @@ -171,11 +188,9 @@ cc_defaults { ], }, }, - static_libs: [ + whole_static_libs: [ "avrcp-target-service", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", "libbt-audio-hal-interface", "libaudio-a2dp-hw-utils", ], @@ -190,6 +205,11 @@ cc_library_static { defaults: ["libbtif_defaults"], } +cc_library_static { + name: "libbtif-static", + defaults: ["libbtif_defaults"], +} + // btif unit tests for target cc_test { name: "net_test_btif", @@ -232,7 +252,6 @@ cc_test { "libbluetooth-types", "libosi", "libbt-protos-lite", - "libbt-audio-hal-interface", ], whole_static_libs: [ "libbtif", @@ -268,9 +287,11 @@ cc_test { "BluetoothGeneratedDumpsysDataSchema_h", "BluetoothGeneratedPackets_h", ], + shared_libs: [ + "libflatbuffers-cpp", + ], static_libs: [ "libbluetooth-types", - "libflatbuffers-cpp", "libosi", ], cflags: ["-DBUILDCFG"], @@ -448,6 +469,7 @@ cc_test { "android.hardware.bluetooth.audio@2.1", "libcrypto", "libcutils", + "libflatbuffers-cpp", "libhidlbase", "liblog", "libtinyxml2", @@ -456,15 +478,8 @@ cc_test { "libbtif", ], static_libs: [ - "avrcp-target-service", - "libaudio-a2dp-hw-utils", "libbluetooth-types", - "libbt-audio-hal-interface", "libbtdevice", - "lib-bt-packets", - "lib-bt-packets-avrcp", - "lib-bt-packets-base", - "libflatbuffers-cpp", "libgmock", "libosi", ], diff --git a/system/build/Android.bp b/system/build/Android.bp index e2ad18377f6..70c509957f0 100644 --- a/system/build/Android.bp +++ b/system/build/Android.bp @@ -25,14 +25,7 @@ bootstrap_go_package { fluoride_defaults { name: "libchrome_support_defaults", - static_libs: [ - "libchrome", - "libmodpb64", - "libevent", - ], - shared_libs: [ - "libbase", - ], + shared_libs: ["libchrome"], cflags: [ "-Wall", "-Wextra", @@ -42,12 +35,6 @@ fluoride_defaults { darwin: { enabled: false, }, - android: { - shared_libs: [ - "libcutils", - "liblog", - ], - } }, } @@ -106,9 +93,6 @@ fluoride_defaults { "libbluetooth-types", "libbt-platform-protos-lite", "libbluetooth_rust_interop", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", "libcutils", ], shared_libs: [ @@ -118,151 +102,6 @@ fluoride_defaults { min_sdk_version: "current", } -fluoride_defaults { - name: "fluoride_test_prod_shared_defaults", - defaults: ["fluoride_defaults"], -} - -fluoride_defaults { - name: "fluoride_test_defaults", - defaults: ["fluoride_test_prod_shared_defaults"], - host_supported: true, - shared_libs: [ - "libcrypto", - "liblog", - "libprotobuf-cpp-lite", - ], - static_libs: [ - "libbt-common", - "libbt-protos-lite", - "libosi", - "libosi-AlarmTestHarness", - "libosi-AllocationTestHarness", - "libcutils", - "libgmock", - ], - sanitize: { - address: true, - cfi: true, - misc_undefined: ["bounds"], - }, -} - -fluoride_defaults { - name: "fluoride_unit_test_defaults", - defaults: ["fluoride_test_defaults"], - test_options: { - unit_test: true, - }, -} - -fluoride_defaults { - name: "fluoride_basic_defaults", - defaults: ["fluoride_test_prod_shared_defaults", "libchrome_support_defaults"], - apex_available: [ - "//apex_available:platform", - "com.android.bluetooth", - ], - shared_libs: [ - "libcrypto", - "libbase", - "liblog", - "libnativehelper", - ], - static_libs: [ - "libflatbuffers-cpp", - "libbt-sbc-decoder", - "libbt-sbc-encoder", - "libFraunhoferAAC", - "libg722codec", - "liblc3", - "libudrv-uipc", - "libprotobuf-cpp-lite", - "libbluetooth_gd", - "libbluetooth-dumpsys", - "libbluetooth_rust_interop", - "libbluetooth-types", - "libbt-platform-protos-lite", - "libbt-protos-lite", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", - ], - target: { - android: { - shared_libs: [ - "android.hardware.bluetooth.a2dp@1.0", - "android.hardware.bluetooth.audio@2.0", - "android.hardware.bluetooth.audio@2.1", - "android.hardware.bluetooth.audio-V1-ndk", - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "android.system.suspend.control-V1-ndk", - "android.system.suspend-V1-ndk", - "libaaudio", - "libbinder_ndk", - "libcutils", - "libhidlbase", - "libfmq", - "libprocessgroup", - "libtinyxml2", - "libutils", - "libz", - "libstatslog_bt", - ], - required: [ - "libldacBT_enc", - "libldacBT_abr", - ], - }, - linux_glibc: { - shared_libs: [ - "android.hardware.bluetooth.a2dp@1.0", - "android.hardware.bluetooth.audio@2.0", - "android.hardware.bluetooth.audio@2.1", - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "libbinder_ndk", - "libcutils", - "libhidlbase", - "libfmq", - "libprocessgroup", - "libtinyxml2", - "libutils", - "libz", - "libstatslog_bt", - ], - required: [ - // "libldacBT_enc", - // "libldacBT_abr", - ], - }, - }, -} - -fluoride_defaults { - name: "fluoride_full_defaults", - defaults: ["fluoride_basic_defaults"], - static_libs: [ - "libbte", - "libbt-bta", - "libbt-common", - "libbtdevice", - "libbtif", - "libbt-hci", - "libbt-stack", - "libbt-utils", - "libbtcore", - "libosi", - "avrcp-target-service", - "lib-bt-packets", - "libbt-audio-hal-interface", - "libaudio-a2dp-hw-utils", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", - ], -} - fluoride_defaults { name: "fluoride_defaults", defaults: ["fluoride_defaults_fuzzable", "fluoride_types_defaults"], @@ -270,25 +109,12 @@ fluoride_defaults { "libbluetooth_gd", "libbluetooth_rust_interop", "libbt_shim_ffi", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], target: { darwin: { // libstatslog_bt -> libbinder doesn't build on mac enabled: false, }, - linux_glibc: { - shared_libs: [ - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "libcutils", - "libhidlbase", - "libstatslog_bt", - "libutils", - ], - }, android: { shared_libs: [ "android.hardware.bluetooth@1.0", diff --git a/system/common/Android.bp b/system/common/Android.bp index fa969dacbce..e23b8f17ecd 100644 --- a/system/common/Android.bp +++ b/system/common/Android.bp @@ -10,7 +10,7 @@ package { cc_library_static { name: "libbt-common", defaults: [ - "fluoride_basic_defaults", + "fluoride_defaults", "clang_file_coverage", ], host_supported: true, @@ -33,11 +33,18 @@ cc_library_static { target: { android: { srcs: ["metrics.cc"], + shared_libs: ["libstatslog_bt"], }, host: { srcs: ["metrics_linux.cc"], }, }, + shared_libs: [ + "libcrypto", + ], + static_libs: [ + "libbt-protos-lite", + ], } cc_test { diff --git a/system/device/Android.bp b/system/device/Android.bp index ee9dd4070fe..24c70ac95c0 100644 --- a/system/device/Android.bp +++ b/system/device/Android.bp @@ -10,7 +10,7 @@ package { cc_library_static { name: "libbtdevice", - defaults: ["fluoride_basic_defaults"], + defaults: ["fluoride_defaults"], host_supported: true, local_include_dirs: [ "include", @@ -26,6 +26,9 @@ cc_library_static { "src/esco_parameters.cc", "src/interop.cc", ], + shared_libs: [ + "liblog", + ], } // Bluetooth device unit tests for target diff --git a/system/gd/Android.bp b/system/gd/Android.bp index 2b11ff861af..449639bb708 100644 --- a/system/gd/Android.bp +++ b/system/gd/Android.bp @@ -135,7 +135,6 @@ cc_defaults { defaults: [ "gd_defaults", "gd_clang_file_coverage", - "libchrome_support_defaults", ], host_supported: true, target: { @@ -196,6 +195,7 @@ cc_defaults { "BluetoothGeneratedPackets_h", ], shared_libs: [ + "libchrome", "libcrypto", "libflatbuffers-cpp", ], @@ -204,9 +204,6 @@ cc_defaults { "libbluetooth-protos", "libbluetooth_rust_interop", "libbt-platform-protos-lite", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], export_static_lib_headers: [ "libbluetooth_rust_interop" ], } @@ -237,7 +234,6 @@ cc_binary { defaults: [ "gd_defaults", "gd_clang_coverage_bin", - "libchrome_support_defaults", ], host_supported: true, srcs: [ @@ -272,12 +268,10 @@ cc_binary { "libbluetooth_gd", "libflatbuffers-cpp", "libbluetooth_rust_interop", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], shared_libs: [ "libbacktrace", + "libchrome", "libcrypto", "libgrpc++", "libgrpc++_unsecure", @@ -316,7 +310,6 @@ cc_test { defaults: [ "gd_defaults", "gd_clang_coverage_bin", - "libchrome_support_defaults", ], host_supported: true, test_options: { @@ -384,11 +377,9 @@ cc_test { "libflatbuffers-cpp", "libgmock", "libbluetooth_rust_interop", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], shared_libs: [ + "libchrome", "libcrypto", "libgrpc++", "libgrpc_wrap", @@ -404,7 +395,6 @@ cc_test { defaults: [ "gd_defaults", "gd_clang_coverage_bin", - "libchrome_support_defaults", ], include_dirs: ["packages/modules/Bluetooth/system/gd"], host_supported: true, @@ -424,10 +414,8 @@ cc_test { cfi: true, }, static_libs: [ + "libchrome", "libbluetooth_rust_interop", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], shared_libs: [ "libgrpc++", @@ -443,15 +431,6 @@ cc_test { "libcutils", ], }, - linux_glibc: { - shared_libs: [ - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "libhidlbase", - "libutils", - "libcutils", - ], - }, }, } @@ -469,9 +448,6 @@ cc_defaults { "libgmock", "libgtest", "libbluetooth_rust_interop", - "libbt_callbacks_cxx", - "libbt_shim_bridge", - "libbt_shim_ffi", ], host_supported: true, generated_headers: [ @@ -532,10 +508,7 @@ cc_fuzz { cc_benchmark { name: "bluetooth_benchmark_gd", - defaults: [ - "gd_defaults", - "libchrome_support_defaults" - ], + defaults: ["gd_defaults"], host_supported: true, srcs: [ "benchmark.cc", @@ -543,7 +516,9 @@ cc_benchmark { ], static_libs: [ "libbluetooth_gd", - "libbt_shim_bridge", + ], + shared_libs: [ + "libchrome", ], } diff --git a/system/gd/common/byte_array_test.cc b/system/gd/common/byte_array_test.cc index 114a79c3440..f06b274adb8 100644 --- a/system/gd/common/byte_array_test.cc +++ b/system/gd/common/byte_array_test.cc @@ -31,7 +31,7 @@ static uint8_t data[16] = { TEST(ByteArrayTest, test_constructor_array) { ByteArray<16> byte_array(data); - for (size_t i = 0; i < ByteArray<16>::kLength; i++) { + for (int i = 0; i < ByteArray<16>::kLength; i++) { ASSERT_EQ(data[i], byte_array.bytes[i]); } } @@ -40,7 +40,7 @@ TEST(ByteArrayTest, test_from_str) { auto byte_array = ByteArray<16>::FromString(test_bytes); ASSERT_TRUE(byte_array); - for (size_t i = 0; i < ByteArray<16>::kLength; i++) { + for (int i = 0; i < ByteArray<16>::kLength; i++) { ASSERT_EQ(test_data[i], byte_array->bytes[i]); } } diff --git a/system/gd/common/circular_buffer_test.cc b/system/gd/common/circular_buffer_test.cc index dc238c2f879..bc67207944e 100644 --- a/system/gd/common/circular_buffer_test.cc +++ b/system/gd/common/circular_buffer_test.cc @@ -94,7 +94,7 @@ TEST(CircularBufferTest, max_timestamps) { } auto vec = buffer.Pull(); - ASSERT_EQ(10ul, vec.size()); + ASSERT_EQ(10, vec.size()); int i = 0 + 1; for (auto v : vec) { diff --git a/system/gd/common/list_map_test.cc b/system/gd/common/list_map_test.cc index 580616f1a5a..e682eea5086 100644 --- a/system/gd/common/list_map_test.cc +++ b/system/gd/common/list_map_test.cc @@ -28,7 +28,7 @@ using bluetooth::common::ListMap; TEST(ListMapTest, empty_test) { ListMap<int, int> list_map; - EXPECT_EQ(list_map.size(), 0ul); + EXPECT_EQ(list_map.size(), 0); EXPECT_EQ(list_map.find(42), list_map.end()); list_map.clear(); // should not crash EXPECT_EQ(list_map.find(42), list_map.end()); @@ -180,7 +180,7 @@ TEST(ListMapTest, splice_same_list_test) { TEST(ListMapTest, put_get_and_contains_key_test) { ListMap<int, int> list_map; - EXPECT_EQ(list_map.size(), 0ul); + EXPECT_EQ(list_map.size(), 0); EXPECT_EQ(list_map.find(42), list_map.end()); EXPECT_FALSE(list_map.contains(42)); list_map.insert_or_assign(56, 200); @@ -350,7 +350,7 @@ TEST(ListMapTest, pressure_test) { EXPECT_EQ(iter->second, key); EXPECT_TRUE(list_map.extract(key)); } - EXPECT_EQ(list_map.size(), 0ul); + EXPECT_EQ(list_map.size(), 0); // test execution time auto done = std::chrono::high_resolution_clock::now(); diff --git a/system/gd/common/lru_cache_test.cc b/system/gd/common/lru_cache_test.cc index d4aebf3f6eb..62b03dd2e12 100644 --- a/system/gd/common/lru_cache_test.cc +++ b/system/gd/common/lru_cache_test.cc @@ -28,7 +28,7 @@ using bluetooth::common::LruCache; TEST(LruCacheTest, empty_test) { LruCache<int, int> cache(3); // capacity = 3; - EXPECT_EQ(cache.size(), 0ul); + EXPECT_EQ(cache.size(), 0); EXPECT_EQ(cache.find(42), cache.end()); cache.clear(); // should not crash EXPECT_EQ(cache.find(42), cache.end()); @@ -167,7 +167,7 @@ TEST(LruCacheTest, erase_in_for_loop_test) { TEST(LruCacheTest, get_and_contains_key_test) { LruCache<int, int> cache(3); // capacity = 3; - EXPECT_EQ(cache.size(), 0ul); + EXPECT_EQ(cache.size(), 0); EXPECT_EQ(cache.find(42), cache.end()); EXPECT_FALSE(cache.contains(42)); EXPECT_FALSE(cache.insert_or_assign(56, 200)); @@ -186,11 +186,11 @@ TEST(LruCacheTest, put_and_get_sequence_1) { // Section 1: Ordered put and ordered get LruCache<int, int> cache(3); // capacity = 3; EXPECT_FALSE(cache.insert_or_assign(1, 10)); - EXPECT_EQ(cache.size(), 1ul); + EXPECT_EQ(cache.size(), 1); EXPECT_FALSE(cache.insert_or_assign(2, 20)); - EXPECT_EQ(cache.size(), 2ul); + EXPECT_EQ(cache.size(), 2); EXPECT_FALSE(cache.insert_or_assign(3, 30)); - EXPECT_EQ(cache.size(), 3ul); + EXPECT_EQ(cache.size(), 3); // 3, 2, 1 after above operations auto evicted = cache.insert_or_assign(4, 40); @@ -210,7 +210,7 @@ TEST(LruCacheTest, put_and_get_sequence_1) { // Section 2: Over capacity put and ordered get evicted = cache.insert_or_assign(5, 50); // 5, 3, 2 after above operations, 4 is evicted - EXPECT_EQ(cache.size(), 3ul); + EXPECT_EQ(cache.size(), 3); EXPECT_TRUE(evicted); EXPECT_EQ(*evicted, std::make_pair(4, 40)); @@ -249,7 +249,7 @@ TEST(LruCacheTest, put_and_get_sequence_2) { EXPECT_EQ(*evicted, std::make_pair(1, 10)); EXPECT_FALSE(cache.insert_or_assign(2, 200)); // 2, 3 in cache, nothing is evicted - EXPECT_EQ(cache.size(), 2ul); + EXPECT_EQ(cache.size(), 2); EXPECT_FALSE(cache.contains(1)); LruCache<int, int>::const_iterator iter; @@ -274,7 +274,7 @@ TEST(LruCacheTest, put_and_get_sequence_2) { EXPECT_TRUE(cache.extract(4)); EXPECT_FALSE(cache.contains(4)); // 3 in cache - EXPECT_EQ(cache.size(), 1ul); + EXPECT_EQ(cache.size(), 1); EXPECT_FALSE(cache.insert_or_assign(2, 2000)); // 2, 3 in cache @@ -289,7 +289,7 @@ TEST(LruCacheTest, put_and_get_sequence_2) { EXPECT_FALSE(cache.insert_or_assign(5, 50)); EXPECT_FALSE(cache.insert_or_assign(1, 100)); EXPECT_FALSE(cache.insert_or_assign(5, 1000)); - EXPECT_EQ(cache.size(), 2ul); + EXPECT_EQ(cache.size(), 2); // 5, 1 in cache evicted = cache.insert_or_assign(6, 2000); @@ -448,7 +448,7 @@ TEST(LruCacheTest, pressure_test) { EXPECT_EQ(iter->second, key); EXPECT_TRUE(cache.extract(key)); } - EXPECT_EQ(cache.size(), 0ul); + EXPECT_EQ(cache.size(), 0); // test execution time auto done = std::chrono::high_resolution_clock::now(); diff --git a/system/gd/common/multi_priority_queue_test.cc b/system/gd/common/multi_priority_queue_test.cc index b40095205ec..c0918adfee1 100644 --- a/system/gd/common/multi_priority_queue_test.cc +++ b/system/gd/common/multi_priority_queue_test.cc @@ -29,7 +29,7 @@ TEST(MultiPriorityQueueTest, without_high_priority_item) { q.push(0); q.push(1, 0); q.push(2); - ASSERT_EQ(q.size(), 3ul); + ASSERT_EQ(q.size(), 3); for (int i = 0; i < 3; i++) { ASSERT_EQ(q.front(), i); q.pop(); diff --git a/system/gd/common/sync_map_count_test.cc b/system/gd/common/sync_map_count_test.cc index d8692003894..1ed8d6a69d0 100644 --- a/system/gd/common/sync_map_count_test.cc +++ b/system/gd/common/sync_map_count_test.cc @@ -51,19 +51,19 @@ TEST(SyncMapCount, simple) { SyncMapCount<std::string> map; LoadStringMap(map); - ASSERT_EQ(5ul, map.Size()); + ASSERT_EQ(5, map.Size()); auto m = map.Get(); - ASSERT_EQ(3ul, m["Three"]); - ASSERT_EQ(2ul, m["Two"]); - ASSERT_EQ(1ul, m["One"]); + ASSERT_EQ(3, m["Three"]); + ASSERT_EQ(2, m["Two"]); + ASSERT_EQ(1, m["One"]); } TEST(SyncMapCount, sized) { SyncMapCount<std::string> map(2); LoadStringMap(map); - ASSERT_EQ(2ul, map.Size()); + ASSERT_EQ(2, map.Size()); } TEST(SyncMapCount, sorted_string_value_low_to_high) { @@ -71,8 +71,8 @@ TEST(SyncMapCount, sorted_string_value_low_to_high) { LoadStringMap(map); auto entries = map.GetSortedLowToHigh(); - ASSERT_EQ(3ul, entries[entries.size() - 1].count); - ASSERT_EQ(2ul, entries[entries.size() - 2].count); + ASSERT_EQ(3, entries[entries.size() - 1].count); + ASSERT_EQ(2, entries[entries.size() - 2].count); } TEST(SyncMapCount, sorted_string_value_high_to_low) { @@ -80,8 +80,8 @@ TEST(SyncMapCount, sorted_string_value_high_to_low) { LoadStringMap(map); auto entries = map.GetSortedHighToLow(); - ASSERT_EQ(3ul, entries[0].count); - ASSERT_EQ(2ul, entries[1].count); + ASSERT_EQ(3, entries[0].count); + ASSERT_EQ(2, entries[1].count); } struct TestString { @@ -113,12 +113,12 @@ TEST(SyncMapCount, simple_struct) { SyncMapCount<TestString> map; LoadTestStringMap(map); - ASSERT_EQ(5ul, map.Size()); + ASSERT_EQ(5, map.Size()); auto m = map.Get(); - ASSERT_EQ(3ul, m[TestString("Three")]); - ASSERT_EQ(2ul, m[TestString("Two")]); - ASSERT_EQ(1ul, m[TestString("One")]); + ASSERT_EQ(3, m[TestString("Three")]); + ASSERT_EQ(2, m[TestString("Two")]); + ASSERT_EQ(1, m[TestString("One")]); } TEST(SyncMapCount, sorted_string_struct_value_low_to_high) { @@ -126,8 +126,8 @@ TEST(SyncMapCount, sorted_string_struct_value_low_to_high) { LoadTestStringMap(map); auto entries = map.GetSortedLowToHigh(); - ASSERT_EQ(3ul, entries[entries.size() - 1].count); - ASSERT_EQ(2ul, entries[entries.size() - 2].count); + ASSERT_EQ(3, entries[entries.size() - 1].count); + ASSERT_EQ(2, entries[entries.size() - 2].count); } TEST(SyncMapCount, sorted_string_struct_value_high_to_low) { @@ -135,22 +135,22 @@ TEST(SyncMapCount, sorted_string_struct_value_high_to_low) { LoadTestStringMap(map); auto entries = map.GetSortedHighToLow(); - ASSERT_EQ(3ul, entries[0].count); - ASSERT_EQ(2ul, entries[1].count); + ASSERT_EQ(3, entries[0].count); + ASSERT_EQ(2, entries[1].count); } TEST(SyncMapCount, locked_for_map_copy) { SyncMapCount<TestString> map; LoadTestStringMap(map); - ASSERT_EQ(5ul, map.Size()); + ASSERT_EQ(5, map.Size()); std::vector<SyncMapCount<TestString>::Item> vec; for (auto& it : map.Get()) { map.Clear(); vec.push_back(SyncMapCount<TestString>::Item{it.first, it.second}); } - ASSERT_EQ(0ul, map.Size()); - ASSERT_EQ(5ul, vec.size()); + ASSERT_EQ(0, map.Size()); + ASSERT_EQ(5, vec.size()); } } // namespace testing diff --git a/system/gd/hal/hci_hal_host_test.cc b/system/gd/hal/hci_hal_host_test.cc index 884e4b9bb16..da2ada6a0cd 100644 --- a/system/gd/hal/hci_hal_host_test.cc +++ b/system/gd/hal/hci_hal_host_test.cc @@ -325,7 +325,7 @@ TEST_F(HciHalRootcanalTest, receive_multiple_acl_batch) { for (int i = 0; i < num_packets; i++) { write(fake_server_socket_, incoming_packet.data(), incoming_packet.size()); } - while (incoming_packets_queue_.size() != (size_t)num_packets) { + while (incoming_packets_queue_.size() != num_packets) { } for (int i = 0; i < num_packets; i++) { auto packet = incoming_packets_queue_.front(); diff --git a/system/gd/hci/class_of_device_unittest.cc b/system/gd/hci/class_of_device_unittest.cc index 62d304c54b1..eb0ced26532 100644 --- a/system/gd/hci/class_of_device_unittest.cc +++ b/system/gd/hci/class_of_device_unittest.cc @@ -102,12 +102,12 @@ TEST(ClassOfDeviceTest, classOfDeviceFromUint32Legacy) { auto cod = ClassOfDevice::FromUint32Legacy(0); ASSERT_TRUE(cod); ASSERT_THAT(cod->cod, testing::ElementsAre(0x00, 0x00, 0x00)); - ASSERT_EQ(cod->ToUint32Legacy(), 0ul); + ASSERT_EQ(cod->ToUint32Legacy(), 0); cod = ClassOfDevice::FromUint32Legacy(0xab214c); ASSERT_TRUE(cod); ASSERT_THAT(cod->cod, testing::ElementsAre(0xab, 0x21, 0x4c)); - ASSERT_EQ(cod->ToUint32Legacy(), 0xab214cul); + ASSERT_EQ(cod->ToUint32Legacy(), 0xab214c); ASSERT_FALSE(ClassOfDevice::FromUint32Legacy(0x1ab214c)); } diff --git a/system/gd/hci/hci_packets_test.cc b/system/gd/hci/hci_packets_test.cc index 06148c1ed6e..99963354517 100644 --- a/system/gd/hci/hci_packets_test.cc +++ b/system/gd/hci/hci_packets_test.cc @@ -73,15 +73,15 @@ TEST(HciPacketsTest, testWriteExtendedInquiryResponse) { auto view = WriteExtendedInquiryResponseView::Create(CommandView::Create(packet_bytes_view)); ASSERT_TRUE(view.IsValid()); auto gap_data = view.GetExtendedInquiryResponse(); - ASSERT_GE(gap_data.size(), 4ul); + ASSERT_GE(gap_data.size(), 4); ASSERT_EQ(gap_data[0].data_type_, GapDataType::COMPLETE_LOCAL_NAME); - ASSERT_EQ(gap_data[0].data_.size(), 10ul); + ASSERT_EQ(gap_data[0].data_.size(), 10); ASSERT_EQ(gap_data[1].data_type_, GapDataType::COMPLETE_LIST_16_BIT_UUIDS); - ASSERT_EQ(gap_data[1].data_.size(), 24ul); + ASSERT_EQ(gap_data[1].data_.size(), 24); ASSERT_EQ(gap_data[2].data_type_, GapDataType::COMPLETE_LIST_32_BIT_UUIDS); - ASSERT_EQ(gap_data[2].data_.size(), 0ul); + ASSERT_EQ(gap_data[2].data_.size(), 0); ASSERT_EQ(gap_data[3].data_type_, GapDataType::COMPLETE_LIST_128_BIT_UUIDS); - ASSERT_EQ(gap_data[3].data_.size(), 128ul); + ASSERT_EQ(gap_data[3].data_.size(), 128); std::vector<GapData> no_padding{gap_data.begin(), gap_data.begin() + 4}; auto builder = WriteExtendedInquiryResponseBuilder::Create(view.GetFecRequired(), no_padding); @@ -171,7 +171,7 @@ TEST(HciPacketsTest, testLeSetExtendedScanParameters) { ASSERT_TRUE(view.IsValid()); ASSERT_EQ(1, view.GetScanningPhys()); auto params = view.GetParameters(); - ASSERT_EQ(1ul, params.size()); + ASSERT_EQ(1, params.size()); ASSERT_EQ(LeScanType::ACTIVE, params[0].le_scan_type_); ASSERT_EQ(18, params[0].le_scan_interval_); ASSERT_EQ(18, params[0].le_scan_window_); @@ -190,7 +190,7 @@ TEST(HciPacketsTest, testLeSetExtendedScanParameters_6553) { ASSERT_TRUE(view.IsValid()); ASSERT_EQ(1, view.GetScanningPhys()); auto params = view.GetParameters(); - ASSERT_EQ(1ul, params.size()); + ASSERT_EQ(1, params.size()); ASSERT_EQ(LeScanType::ACTIVE, params[0].le_scan_type_); ASSERT_EQ(6553, params[0].le_scan_interval_); ASSERT_EQ(6553, params[0].le_scan_window_); @@ -291,8 +291,8 @@ TEST(HciPacketsTest, testLeSetExtendedAdvertisingParametersLegacySet0) { LeAdvertisingCommandView::Create(CommandView::Create(packet_bytes_view))); ASSERT_TRUE(view.IsValid()); ASSERT_EQ(0, view.GetAdvertisingHandle()); - ASSERT_EQ(400ul, view.GetPrimaryAdvertisingIntervalMin()); - ASSERT_EQ(450ul, view.GetPrimaryAdvertisingIntervalMax()); + ASSERT_EQ(400, view.GetPrimaryAdvertisingIntervalMin()); + ASSERT_EQ(450, view.GetPrimaryAdvertisingIntervalMax()); ASSERT_EQ(0x7, view.GetPrimaryAdvertisingChannelMap()); ASSERT_EQ(OwnAddressType::RANDOM_DEVICE_ADDRESS, view.GetOwnAddressType()); ASSERT_EQ(PeerAddressType::PUBLIC_DEVICE_OR_IDENTITY_ADDRESS, view.GetPeerAddressType()); @@ -314,8 +314,8 @@ TEST(HciPacketsTest, testLeSetExtendedAdvertisingParametersSet1) { LeAdvertisingCommandView::Create(CommandView::Create(packet_bytes_view))); ASSERT_TRUE(view.IsValid()); ASSERT_EQ(1, view.GetAdvertisingHandle()); - ASSERT_EQ(400ul, view.GetPrimaryAdvertisingIntervalMin()); - ASSERT_EQ(450ul, view.GetPrimaryAdvertisingIntervalMax()); + ASSERT_EQ(400, view.GetPrimaryAdvertisingIntervalMin()); + ASSERT_EQ(450, view.GetPrimaryAdvertisingIntervalMax()); ASSERT_EQ(0x7, view.GetPrimaryAdvertisingChannelMap()); ASSERT_EQ(OwnAddressType::RANDOM_DEVICE_ADDRESS, view.GetOwnAddressType()); ASSERT_EQ(PeerAddressType::PUBLIC_DEVICE_OR_IDENTITY_ADDRESS, view.GetPeerAddressType()); @@ -363,7 +363,7 @@ TEST(HciPacketsTest, testLeSetExtendedAdvertisingDisable1) { LeAdvertisingCommandView::Create(CommandView::Create(packet_bytes_view))); ASSERT_TRUE(view.IsValid()); auto disabled_set = view.GetDisabledSets(); - ASSERT_EQ(1ul, disabled_set.size()); + ASSERT_EQ(1, disabled_set.size()); ASSERT_EQ(1, disabled_set[0].advertising_handle_); } @@ -372,7 +372,7 @@ TEST(HciPacketsTest, testLeSetAdvertisingDataBuilderLength) { gap_data.data_type_ = GapDataType::COMPLETE_LOCAL_NAME; gap_data.data_ = std::vector<uint8_t>({'A', ' ', 'g', 'o', 'o', 'd', ' ', 'n', 'a', 'm', 'e'}); auto builder = LeSetAdvertisingDataBuilder::Create({gap_data}); - ASSERT_EQ(2ul /*opcode*/ + 1ul /* parameter size */ + 1ul /* data_length */ + 31ul /* data */, builder->size()); + ASSERT_EQ(2 /*opcode*/ + 1 /* parameter size */ + 1 /* data_length */ + 31 /* data */, builder->size()); auto packet_bytes = std::make_shared<std::vector<uint8_t>>(); packet_bytes->reserve(builder->size()); @@ -380,7 +380,7 @@ TEST(HciPacketsTest, testLeSetAdvertisingDataBuilderLength) { builder->Serialize(bit_inserter); auto command_view = LeAdvertisingCommandView::Create(CommandView::Create(PacketView<kLittleEndian>(packet_bytes))); ASSERT_TRUE(command_view.IsValid()); - ASSERT_EQ(1ul /* data_length */ + 31ul /* data */, command_view.GetPayload().size()); + ASSERT_EQ(1 /* data_length */ + 31 /* data */, command_view.GetPayload().size()); auto view = LeSetAdvertisingDataView::Create(command_view); ASSERT_TRUE(view.IsValid()); } @@ -390,7 +390,7 @@ TEST(HciPacketsTest, testLeSetScanResponseDataBuilderLength) { gap_data.data_type_ = GapDataType::COMPLETE_LOCAL_NAME; gap_data.data_ = std::vector<uint8_t>({'A', ' ', 'g', 'o', 'o', 'd', ' ', 'n', 'a', 'm', 'e'}); auto builder = LeSetScanResponseDataBuilder::Create({gap_data}); - ASSERT_EQ(2ul /*opcode*/ + 1ul /* parameter size */ + 1ul /*data_length */ + 31ul /* data */, builder->size()); + ASSERT_EQ(2 /*opcode*/ + 1 /* parameter size */ + 1 /*data_length */ + 31 /* data */, builder->size()); auto packet_bytes = std::make_shared<std::vector<uint8_t>>(); packet_bytes->reserve(builder->size()); @@ -398,7 +398,7 @@ TEST(HciPacketsTest, testLeSetScanResponseDataBuilderLength) { builder->Serialize(bit_inserter); auto command_view = LeAdvertisingCommandView::Create(CommandView::Create(PacketView<kLittleEndian>(packet_bytes))); ASSERT_TRUE(command_view.IsValid()); - ASSERT_EQ(1ul /* data_length */ + 31ul /* data */, command_view.GetPayload().size()); + ASSERT_EQ(1 /* data_length */ + 31 /* data */, command_view.GetPayload().size()); auto view = LeSetScanResponseDataView::Create(command_view); ASSERT_TRUE(view.IsValid()); } @@ -419,7 +419,7 @@ TEST(HciPacketsTest, testLeMultiAdvSetAdvertisingDataBuilderLength) { ASSERT_TRUE(command_view.IsValid()); auto view = LeMultiAdvtSetDataView::Create(command_view); ASSERT_TRUE(view.IsValid()); - ASSERT_TRUE(view.GetAdvertisingData().size() > 0ul); + ASSERT_TRUE(view.GetAdvertisingData().size() > 0); ASSERT_EQ(view.GetAdvertisingData()[0].data_, gap_data.data_); ASSERT_EQ(view.GetAdvertisingInstance(), 3); } diff --git a/system/gd/l2cap/l2cap_packet_test.cc b/system/gd/l2cap/l2cap_packet_test.cc index 0bf9017c7a0..7a413f41c03 100644 --- a/system/gd/l2cap/l2cap_packet_test.cc +++ b/system/gd/l2cap/l2cap_packet_test.cc @@ -80,7 +80,7 @@ TEST(L2capPacketsTest, testConfigRequestOptions) { PacketView<kLittleEndian> packet_bytes_view(view_bytes); auto view = ConfigurationRequestView::Create(ControlView::Create(packet_bytes_view)); ASSERT_TRUE(view.IsValid()); - ASSERT_EQ(1ul, view.GetConfig().size()); + ASSERT_EQ(1, view.GetConfig().size()); } { @@ -90,7 +90,7 @@ TEST(L2capPacketsTest, testConfigRequestOptions) { PacketView<kLittleEndian> packet_bytes_view(view_bytes); auto view = ConfigurationRequestView::Create(ControlView::Create(packet_bytes_view)); ASSERT_TRUE(view.IsValid()); - ASSERT_EQ(2ul, view.GetConfig().size()); + ASSERT_EQ(2, view.GetConfig().size()); } { @@ -100,7 +100,7 @@ TEST(L2capPacketsTest, testConfigRequestOptions) { PacketView<kLittleEndian> packet_bytes_view(view_bytes); auto view = ConfigurationRequestView::Create(ControlView::Create(packet_bytes_view)); ASSERT_TRUE(view.IsValid()); - ASSERT_EQ(2ul, view.GetConfig().size()); + ASSERT_EQ(2, view.GetConfig().size()); } { @@ -110,7 +110,7 @@ TEST(L2capPacketsTest, testConfigRequestOptions) { PacketView<kLittleEndian> packet_bytes_view(view_bytes); auto view = ConfigurationRequestView::Create(ControlView::Create(packet_bytes_view)); ASSERT_TRUE(view.IsValid()); - ASSERT_EQ(1ul, view.GetConfig().size()); + ASSERT_EQ(1, view.GetConfig().size()); } { @@ -120,7 +120,7 @@ TEST(L2capPacketsTest, testConfigRequestOptions) { PacketView<kLittleEndian> packet_bytes_view(view_bytes); auto view = ConfigurationRequestView::Create(ControlView::Create(packet_bytes_view)); ASSERT_TRUE(view.IsValid()); - ASSERT_EQ(2ul, view.GetConfig().size()); + ASSERT_EQ(2, view.GetConfig().size()); } } diff --git a/system/gd/os/linux_generic/queue_unittest.cc b/system/gd/os/linux_generic/queue_unittest.cc index 3739735a0a6..90f061ccdb1 100644 --- a/system/gd/os/linux_generic/queue_unittest.cc +++ b/system/gd/os/linux_generic/queue_unittest.cc @@ -157,7 +157,7 @@ class TestDequeueEnd { std::unique_ptr<std::string> data = queue_->TryDequeue(); buffer_.push(std::move(data)); - if (buffer_.size() == (size_t)capacity_) { + if (buffer_.size() == capacity_) { queue_->UnregisterDequeue(); } @@ -475,7 +475,7 @@ TEST_F(QueueTest, queue_becomes_full_dequeue_callback_slower) { // Wait for enqueue buffer empty and expect queue is full enqueue_future.wait(); EXPECT_EQ(enqueue_future.get(), 0); - EXPECT_GE(test_dequeue_end.buffer_.size(), (size_t)(kQueueSize - 1)); + EXPECT_GE(test_dequeue_end.buffer_.size(), kQueueSize - 1); test_dequeue_end.UnregisterDequeue(); } @@ -535,7 +535,7 @@ TEST_F(QueueTest, queue_becomes_non_full_during_test) { // Expect kQueueSize data block in enqueue end buffer std::this_thread::sleep_for(std::chrono::milliseconds(20)); - EXPECT_EQ(test_enqueue_end.buffer_.size(), (size_t)kQueueSize); + EXPECT_EQ(test_enqueue_end.buffer_.size(), kQueueSize); // Register dequeue std::unordered_map<int, std::promise<int>> dequeue_promise_map; diff --git a/system/gd/os/linux_generic/wakelock_manager_unittest.cc b/system/gd/os/linux_generic/wakelock_manager_unittest.cc index 4359371902a..0ae97044841 100644 --- a/system/gd/os/linux_generic/wakelock_manager_unittest.cc +++ b/system/gd/os/linux_generic/wakelock_manager_unittest.cc @@ -104,12 +104,12 @@ TEST_F(WakelockManagerTest, test_set_os_callouts_repeated_acquire) { WakelockManager::Get().Acquire(); SyncHandler(); - ASSERT_EQ(os_callouts.acquired_lock_counts.size(), (size_t)1); + ASSERT_EQ(os_callouts.acquired_lock_counts.size(), 1); ASSERT_THAT(os_callouts.GetNetAcquiredCount(WakelockManager::kBtWakelockId), Optional(Eq(1))); WakelockManager::Get().Acquire(); SyncHandler(); - ASSERT_EQ(os_callouts.acquired_lock_counts.size(), (size_t)1); + ASSERT_EQ(os_callouts.acquired_lock_counts.size(), 1); ASSERT_THAT(os_callouts.GetNetAcquiredCount(WakelockManager::kBtWakelockId), Optional(Eq(2))); WakelockManager::Get().Release(); @@ -130,12 +130,12 @@ TEST_F(WakelockManagerTest, test_set_os_callouts_repeated_release) { WakelockManager::Get().Acquire(); SyncHandler(); - ASSERT_EQ(os_callouts.acquired_lock_counts.size(), (size_t)1); + ASSERT_EQ(os_callouts.acquired_lock_counts.size(), 1); ASSERT_THAT(os_callouts.GetNetAcquiredCount(WakelockManager::kBtWakelockId), Optional(Eq(1))); WakelockManager::Get().Release(); SyncHandler(); - ASSERT_EQ(os_callouts.acquired_lock_counts.size(), (size_t)1); + ASSERT_EQ(os_callouts.acquired_lock_counts.size(), 1); ASSERT_THAT(os_callouts.GetNetAcquiredCount(WakelockManager::kBtWakelockId), Optional(Eq(0))); // OS callouts allow pass through for repeated release calls @@ -158,7 +158,7 @@ TEST_F(WakelockManagerTest, test_with_os_callouts_in_a_loop_and_dump) { for (size_t i = 0; i < 1000; i++) { WakelockManager::Get().Acquire(); SyncHandler(); - ASSERT_EQ(os_callouts.acquired_lock_counts.size(), (size_t)1); + ASSERT_EQ(os_callouts.acquired_lock_counts.size(), 1); ASSERT_THAT(os_callouts.GetNetAcquiredCount(WakelockManager::kBtWakelockId), Optional(Eq(1))); WakelockManager::Get().Release(); SyncHandler(); diff --git a/system/gd/packet/fragmenting_inserter_unittest.cc b/system/gd/packet/fragmenting_inserter_unittest.cc index ab833194fdf..c2f1124da5a 100644 --- a/system/gd/packet/fragmenting_inserter_unittest.cc +++ b/system/gd/packet/fragmenting_inserter_unittest.cc @@ -41,7 +41,7 @@ TEST(FragmentingInserterTest, addMoreBits) { it.finalize(); - ASSERT_EQ(1ul, fragments.size()); + ASSERT_EQ(1, fragments.size()); std::vector<uint8_t> bytes; BitInserter bit_inserter(bytes); @@ -71,7 +71,7 @@ TEST(FragmentingInserterTest, observerTest) { it.insert_bits(static_cast<uint8_t>(0b1010), 4); it.finalize(); - ASSERT_EQ(1ul, fragments.size()); + ASSERT_EQ(1, fragments.size()); std::vector<uint8_t> bytes; BitInserter bit_inserter(bytes); @@ -102,22 +102,22 @@ TEST(FragmentingInserterTest, testMtuBoundaries) { FragmentingInserter it(kPacketSize, std::back_insert_iterator(fragments_mtu_is_kPacketSize)); counts.Serialize(it); it.finalize(); - ASSERT_EQ(1ul, fragments_mtu_is_kPacketSize.size()); + ASSERT_EQ(1, fragments_mtu_is_kPacketSize.size()); ASSERT_EQ(kPacketSize, fragments_mtu_is_kPacketSize[0]->size()); std::vector<std::unique_ptr<RawBuilder>> fragments_mtu_is_less; FragmentingInserter it_less(kPacketSize - 1, std::back_insert_iterator(fragments_mtu_is_less)); counts.Serialize(it_less); it_less.finalize(); - ASSERT_EQ(2ul, fragments_mtu_is_less.size()); - ASSERT_EQ(kPacketSize - 1ul, fragments_mtu_is_less[0]->size()); - ASSERT_EQ(1ul, fragments_mtu_is_less[1]->size()); + ASSERT_EQ(2, fragments_mtu_is_less.size()); + ASSERT_EQ(kPacketSize - 1, fragments_mtu_is_less[0]->size()); + ASSERT_EQ(1, fragments_mtu_is_less[1]->size()); std::vector<std::unique_ptr<RawBuilder>> fragments_mtu_is_more; FragmentingInserter it_more(kPacketSize + 1, std::back_insert_iterator(fragments_mtu_is_more)); counts.Serialize(it_more); it_more.finalize(); - ASSERT_EQ(1ul, fragments_mtu_is_more.size()); + ASSERT_EQ(1, fragments_mtu_is_more.size()); ASSERT_EQ(kPacketSize, fragments_mtu_is_more[0]->size()); } diff --git a/system/gd/packet/packet_view_unittest.cc b/system/gd/packet/packet_view_unittest.cc index c0d7a0e1bb4..208784e7961 100644 --- a/system/gd/packet/packet_view_unittest.cc +++ b/system/gd/packet/packet_view_unittest.cc @@ -347,15 +347,15 @@ TYPED_TEST(IteratorTest, subrangeTest) { ASSERT_EQ(*(all + 1), 1); auto subrange = all.Subrange(0, 1); - ASSERT_EQ(1ul, subrange.NumBytesRemaining()); + ASSERT_EQ(1, subrange.NumBytesRemaining()); ASSERT_EQ(*(subrange), 0); subrange = this->packet->begin().Subrange(0, 4); - ASSERT_EQ(4ul, subrange.NumBytesRemaining()); + ASSERT_EQ(4, subrange.NumBytesRemaining()); ASSERT_EQ(*(subrange + 1), 1); subrange = all.Subrange(0, 3); - ASSERT_EQ(3ul, subrange.NumBytesRemaining()); + ASSERT_EQ(3, subrange.NumBytesRemaining()); ASSERT_EQ(*(subrange + 1), 1); subrange = all.Subrange(0, all.NumBytesRemaining() - 1); @@ -383,15 +383,15 @@ TYPED_TEST(IteratorTest, subrangeTest) { ASSERT_EQ(*subrange, 2); subrange = all.Subrange(1, 1); - ASSERT_EQ(1ul, subrange.NumBytesRemaining()); + ASSERT_EQ(1, subrange.NumBytesRemaining()); ASSERT_EQ(*(subrange), 1); subrange = all.Subrange(1, 2); - ASSERT_EQ(2ul, subrange.NumBytesRemaining()); + ASSERT_EQ(2, subrange.NumBytesRemaining()); ASSERT_EQ(*(subrange), 1); subrange = all.Subrange(2, 1); - ASSERT_EQ(1ul, subrange.NumBytesRemaining()); + ASSERT_EQ(1, subrange.NumBytesRemaining()); ASSERT_EQ(*(subrange), 2); subrange = this->packet->begin().Subrange(this->packet->size() - 1, 2); diff --git a/system/gd/packet/parser/test/generated_packet_test.cc b/system/gd/packet/parser/test/generated_packet_test.cc index 68709131491..5a1d582090a 100644 --- a/system/gd/packet/parser/test/generated_packet_test.cc +++ b/system/gd/packet/parser/test/generated_packet_test.cc @@ -568,7 +568,7 @@ TEST(GeneratedPacketTest, testFixedSizeByteArray) { for (uint32_t i = 0; i < word_array_size; i++) word_array[i] = i; auto packet = PacketWithFixedArraysOfBytesBuilder::Create(byte_array, word_array); - ASSERT_EQ((size_t)(2 * (256 / 8)), packet->size()); + ASSERT_EQ(2 * (256 / 8), packet->size()); std::shared_ptr<std::vector<uint8_t>> packet_bytes = std::make_shared<std::vector<uint8_t>>(); BitInserter it(*packet_bytes); @@ -1118,7 +1118,7 @@ TEST(GeneratedPacketTest, testOneArrayOfStructAndAnotherStruct) { auto view = OneArrayOfStructAndAnotherStructView::Create(packet_bytes_view); ASSERT_TRUE(view.IsValid()); auto one = view.GetOne(); - ASSERT_EQ(one.array_.size(), 3ul); + ASSERT_EQ(one.array_.size(), 3); ASSERT_EQ(one.another_.id_, 4); ASSERT_EQ(one.another_.count_, 0x0804); } @@ -1901,7 +1901,7 @@ TEST(GeneratedPacketTest, testOneGenericStructArrayNoZeroEmpty) { too_few_bytes = std::make_shared<std::vector<uint8_t>>(a_two_byte_struct); view = OneGenericStructArrayNoZeroView::Create(PacketView<kLittleEndian>(too_few_bytes)); ASSERT_TRUE(view.IsValid()); - ASSERT_EQ(1ul, view.GetAnArray().size()); + ASSERT_EQ(1, view.GetAnArray().size()); } TEST(GeneratedPacketTest, testToStringOutput) { diff --git a/system/gd/rust/shim/Android.bp b/system/gd/rust/shim/Android.bp index 91e91e1c966..6df6a31c059 100644 --- a/system/gd/rust/shim/Android.bp +++ b/system/gd/rust/shim/Android.bp @@ -46,7 +46,7 @@ rust_defaults { proc_macros: [ "libpaste", ], - static_libs: [ + whole_static_libs: [ "libbt_callbacks_cxx", ], } @@ -68,10 +68,7 @@ rust_ffi_static { cc_library_static { name: "libbt_shim_bridge", - defaults: [ - "gd_ffi_defaults", - "libchrome_support_defaults" - ], + defaults: ["gd_ffi_defaults"], generated_headers: [ "libbt_init_flags_bridge_header", "libbt_shim_bridge_header", @@ -102,16 +99,16 @@ cc_library_static { "//apex_available:platform", "com.android.bluetooth", ], + shared_libs: [ + "libchrome", + ], min_sdk_version: "30", } cc_library_static { name: "libbluetooth_rust_interop", - defaults: [ - "gd_ffi_defaults", - "libchrome_support_defaults" - ], - static_libs: [ + defaults: ["gd_ffi_defaults"], + whole_static_libs: [ "libbt_shim_bridge", "libbt_shim_ffi", ], @@ -125,13 +122,13 @@ cc_library_static { cc_library_static { name: "libbt_callbacks_cxx", - defaults: [ - "gd_ffi_defaults", - "libchrome_support_defaults" - ], + defaults: ["gd_ffi_defaults"], header_libs: ["libbt_callbacks_cxx_headers"], srcs: ["callbacks/callbacks.cc"], generated_headers: ["libbt_shim_bridge_header", "cxx-bridge-header"], + shared_libs: [ + "libchrome", + ], host_supported: true, apex_available: [ "//apex_available:platform", diff --git a/system/gd/rust/topshim/Android.bp b/system/gd/rust/topshim/Android.bp index b24cbb67d65..8098b1027ad 100644 --- a/system/gd/rust/topshim/Android.bp +++ b/system/gd/rust/topshim/Android.bp @@ -43,10 +43,7 @@ rust_library_host_rlib { cc_library_static { name: "libbt_topshim_cxx", - defaults: [ - "gd_ffi_defaults", - "libchrome_support_defaults", - ], + defaults: ["gd_ffi_defaults"], header_libs: ["libbt_callbacks_cxx_headers"], srcs: [ "btav/btav_shim.cc", @@ -65,6 +62,9 @@ cc_library_static { "cxx-bridge-header" ], generated_sources: ["libbt_topshim_bridge_code"], + shared_libs: [ + "libchrome", + ], include_dirs: [ "packages/modules/Bluetooth/system", "packages/modules/Bluetooth/system/gd", diff --git a/system/gd/rust/topshim/btav/btav_shim.cc b/system/gd/rust/topshim/btav/btav_shim.cc index 3846eb375ce..fd1173e8649 100644 --- a/system/gd/rust/topshim/btav/btav_shim.cc +++ b/system/gd/rust/topshim/btav/btav_shim.cc @@ -215,7 +215,7 @@ int A2dpIntf::set_active_device(RustRawAddress bt_addr) const { int A2dpIntf::config_codec(RustRawAddress bt_addr, ::rust::Vec<A2dpCodecConfig> codec_preferences) const { RawAddress addr = rusty::CopyFromRustAddress(bt_addr); std::vector<btav_a2dp_codec_config_t> prefs; - for (size_t i = 0; i < codec_preferences.size(); ++i) { + for (int i = 0; i < codec_preferences.size(); ++i) { prefs.push_back(internal::from_rust_codec_config(codec_preferences[i])); } return intf_->config_codec(addr, prefs); diff --git a/system/gd/rust/topshim/btif/btif_shim.cc b/system/gd/rust/topshim/btif/btif_shim.cc index 8529605bac0..e9f53fa85d7 100644 --- a/system/gd/rust/topshim/btif/btif_shim.cc +++ b/system/gd/rust/topshim/btif/btif_shim.cc @@ -45,7 +45,7 @@ void InitFlags::Convert(::rust::Vec<::rust::String>& initFlags) { flags_ = static_cast<const char**>(std::calloc(initFlags.size() + 1, sizeof(char*))); if (!flags_) return; - for (size_t i = 0; i < initFlags.size(); ++i) { + for (int i = 0; i < initFlags.size(); ++i) { flags_[i] = strndup(initFlags[i].data(), initFlags[i].size()); if (!flags_[i]) { return; diff --git a/system/gd/rust/topshim/facade/Android.bp b/system/gd/rust/topshim/facade/Android.bp index 27f26937fae..95648c71ea1 100644 --- a/system/gd/rust/topshim/facade/Android.bp +++ b/system/gd/rust/topshim/facade/Android.bp @@ -9,10 +9,7 @@ package { rust_binary_host { name: "bt_topshim_facade", - defaults: [ - "gd_rust_defaults", - "libchrome_support_defaults" - ], + defaults: ["gd_rust_defaults"], crate_name: "bt_topshim_facade", srcs: ["src/main.rs"], ld_flags: ["-fsanitize=undefined", "-fsanitize-minimal-runtime"], @@ -32,21 +29,15 @@ rust_binary_host { "libbt_shim", ], static_libs: [ - "avrcp-target-service", - "lib-bt-packets", - "lib-bt-packets-avrcp", - "lib-bt-packets-base", - "libchrome", - "libevent", "libbt_topshim_cxx", "libbt-bta", "libbt-common", "libbtdevice", - "libbtif", + "libbtif-static", "libbt-hci", "libbt-stack", "libbt-utils", - "libbtcore", + "libbtcore-static", "libosi", "libbt-protos-lite", "libbte", @@ -61,12 +52,10 @@ rust_binary_host { "libbluetooth-types", "libflatbuffers-cpp", "libbt_shim_bridge", - "libbt_topshim_cxx", - "libbt-audio-hal-interface", - "libaudio-a2dp-hw-utils", ], shared_libs: [ "libcrypto", + "libchrome", "liblog", "libcutils", "libgrpc++", diff --git a/system/gd/storage/config_cache_helper_test.cc b/system/gd/storage/config_cache_helper_test.cc index 73e3b8dee76..7269a4ae859 100644 --- a/system/gd/storage/config_cache_helper_test.cc +++ b/system/gd/storage/config_cache_helper_test.cc @@ -57,7 +57,7 @@ TEST(ConfigCacheHelperTest, set_get_uint64_test) { // zero ConfigCacheHelper(config).SetUint64("A", "B", 0); ASSERT_THAT(config.GetProperty("A", "B"), Optional(StrEq("0"))); - ASSERT_THAT(ConfigCacheHelper(config).GetUint64("A", "B"), Optional(Eq(0ul))); + ASSERT_THAT(ConfigCacheHelper(config).GetUint64("A", "B"), Optional(Eq(0))); } TEST(ConfigCacheHelperTest, set_get_uint32_test) { @@ -76,7 +76,7 @@ TEST(ConfigCacheHelperTest, set_get_uint32_test) { // zero ConfigCacheHelper(config).SetUint32("A", "B", 0); ASSERT_THAT(config.GetProperty("A", "B"), Optional(StrEq("0"))); - ASSERT_THAT(ConfigCacheHelper(config).GetUint32("A", "B"), Optional(Eq(0u))); + ASSERT_THAT(ConfigCacheHelper(config).GetUint32("A", "B"), Optional(Eq(0))); } TEST(ConfigCacheHelperTest, set_get_int64_test) { diff --git a/system/hci/Android.bp b/system/hci/Android.bp index 95690d83dde..d7b735ea948 100644 --- a/system/hci/Android.bp +++ b/system/hci/Android.bp @@ -7,10 +7,20 @@ package { default_applicable_licenses: ["system_bt_license"], } +cc_defaults { + name: "libbt-hci_defaults", + defaults: ["fluoride_defaults"], + shared_libs: [ + "android.hardware.bluetooth@1.0", + "android.hardware.bluetooth@1.1", + "libhidlbase", + ], +} + // HCI static library for target cc_library_static { name: "libbt-hci", - defaults: ["fluoride_basic_defaults"], + defaults: ["libbt-hci_defaults"], srcs: [ "src/btsnoop.cc", "src/btsnoop_mem.cc", @@ -57,8 +67,7 @@ cc_library_static { cc_test { name: "net_test_hci", test_suites: ["device-tests"], - defaults: ["fluoride_basic_defaults", "fluoride_test_defaults"], - host_supported: false, + defaults: ["libbt-hci_defaults"], local_include_dirs: [ "include", ], @@ -75,11 +84,18 @@ cc_test { "test/packet_fragmenter_test.cc", ], shared_libs: [ + "liblog", "libdl", + "libprotobuf-cpp-lite", ], static_libs: [ "libbt-hci", + "libosi", + "libosi-AlarmTestHarness", + "libosi-AllocationTestHarness", + "libcutils", "libbtcore", + "libbt-protos-lite", "libbluetooth-for-tests", ], } @@ -88,7 +104,11 @@ cc_test { cc_test { name: "net_test_hci_native", test_suites: ["device-tests"], - defaults: ["fluoride_unit_test_defaults"], + defaults: ["fluoride_defaults"], + host_supported: true, + test_options: { + unit_test: true, + }, local_include_dirs: [ "include", ], @@ -101,12 +121,32 @@ cc_test { "test/hci_layer_test.cc", "test/other_stack_stub.cc", ], + shared_libs: [ + "libcrypto", + "liblog", + "libprotobuf-cpp-lite", + ], + static_libs: [ + "libbt-common", + "libbt-protos-lite", + "libosi", + "libosi-AllocationTestHarness", + ], + sanitize: { + address: true, + cfi: true, + misc_undefined: ["bounds"], + }, } cc_test { name: "net_test_hci_fragmenter_native", test_suites: ["device-tests"], - defaults: ["fluoride_unit_test_defaults"], + defaults: ["fluoride_defaults"], + host_supported: true, + test_options: { + unit_test: true, + }, local_include_dirs: [ "include", ], @@ -120,5 +160,21 @@ cc_test { "src/buffer_allocator.cc", "test/packet_fragmenter_host_test.cc", ], + shared_libs: [ + "libcrypto", + "liblog", + "libprotobuf-cpp-lite", + ], + static_libs: [ + "libbt-common", + "libbt-protos-lite", + "libosi", + "libosi-AllocationTestHarness", + ], + sanitize: { + address: true, + cfi: true, + misc_undefined: ["bounds"], + }, } diff --git a/system/include/Android.bp b/system/include/Android.bp index cfe5897f334..8bb2b7c3b6b 100644 --- a/system/include/Android.bp +++ b/system/include/Android.bp @@ -16,7 +16,7 @@ cc_library_headers { // We need this in case some file outside of the Bluetooth project includes // bluetooth.h but doesn't include libchrome which avrcp.h depends on. - export_static_lib_headers: ["libchrome"], + export_shared_lib_headers: ["libchrome"], vendor_available: true, host_supported: true, diff --git a/system/main/Android.bp b/system/main/Android.bp index e89355a1967..defe0e00ef1 100644 --- a/system/main/Android.bp +++ b/system/main/Android.bp @@ -21,7 +21,7 @@ filegroup { cc_library_static { name: "libbte", - defaults: ["fluoride_basic_defaults"], + defaults: ["fluoride_defaults"], srcs: [ ":LibBluetoothSources", ":LibBluetoothShimSources", @@ -49,6 +49,9 @@ cc_library_static { "system/security/keystore/include", "hardware/interfaces/keymaster/4.0/support/include", ], + shared_libs: [ + "libflatbuffers-cpp", + ], generated_headers: [ "BluetoothGeneratedBundlerSchema_h_bfbs", "BluetoothGeneratedDumpsysDataSchema_h", @@ -58,14 +61,14 @@ cc_library_static { host_supported: true, } -cc_library { +cc_library_shared { name: "libbluetooth", visibility: [ "//cts/hostsidetests:__subpackages__", "//packages/modules/Bluetooth:__subpackages__", "//vendor:__subpackages__", ], - defaults: ["fluoride_full_defaults"], + defaults: ["fluoride_defaults"], header_libs: ["libbluetooth_headers"], export_header_lib_headers: ["libbluetooth_headers"], include_dirs: [ @@ -90,6 +93,63 @@ cc_library { "hardware/interfaces/keymaster/4.0/support/include", ], logtags: ["../../EventLogTags.logtags"], + shared_libs: [ + "libcrypto", + "libflatbuffers-cpp", + "liblog", + ], + static_libs: [ + "libbte", + "libbt-sbc-decoder", + "libbt-sbc-encoder", + "libFraunhoferAAC", + "libg722codec", + "liblc3", + "libudrv-uipc", + "libprotobuf-cpp-lite", + "libbluetooth_gd", // Gabeldorsche + "libbluetooth-dumpsys", + "libbluetooth_rust_interop", + ], + whole_static_libs: [ + "libbt-bta", + "libbt-common", + "libbtdevice", + "libbtif", + "libbt-hci", + "libbt-stack", + "libbt-utils", + "libbtcore", + "libosi", + "libbt-protos-lite", + ], + target: { + android: { + shared_libs: [ + "android.hardware.bluetooth.a2dp@1.0", + "android.hardware.bluetooth.audio@2.0", + "android.hardware.bluetooth.audio@2.1", + "android.hardware.bluetooth.audio-V1-ndk", + "android.hardware.bluetooth@1.0", + "android.hardware.bluetooth@1.1", + "android.system.suspend.control-V1-ndk", + "android.system.suspend-V1-ndk", + "libaaudio", + "libbinder_ndk", + "libcutils", + "libhidlbase", + "libfmq", + "libprocessgroup", + "libtinyxml2", + "libutils", + "libz", + ], + required: [ + "libldacBT_enc", + "libldacBT_abr", + ], + }, + }, // Shared library link options. // References to global symbols and functions should bind to the library // itself. This is to avoid issues with some of the unit/system tests @@ -110,6 +170,10 @@ cc_library { sanitize: { never: true, }, + apex_available: [ + "//apex_available:platform", + "com.android.bluetooth", + ], host_supported: true, min_sdk_version: "30", } @@ -195,7 +259,6 @@ cc_test { "libbluetooth-dumpsys", "libbt-common", "libbt-protos-lite", - "libflatbuffers-cpp", "libgmock", "liblog", "libosi", @@ -203,6 +266,7 @@ cc_test { ], shared_libs: [ "libcrypto", + "libflatbuffers-cpp", "libprotobuf-cpp-lite", ], sanitize: { diff --git a/system/osi/Android.bp b/system/osi/Android.bp index 6b188ef9f27..7b175b742fb 100644 --- a/system/osi/Android.bp +++ b/system/osi/Android.bp @@ -59,7 +59,7 @@ cc_library_static { "//packages/apps/Test/connectivity/sl4n", "//packages/modules/Bluetooth:__subpackages__", ], - defaults: ["fluoride_osi_defaults", "fluoride_basic_defaults"], + defaults: ["fluoride_osi_defaults"], // TODO(mcchou): Remove socket_utils sources after platform specific // dependencies are abstracted. srcs: [ @@ -87,6 +87,10 @@ cc_library_static { "src/thread_scheduler.cc", "src/wakelock.cc", ], + shared_libs: [ + "liblog", + ], + static_libs: ["libbt-protos-lite"], host_supported: true, // TODO(armansito): Setting _GNU_SOURCE isn't very platform-independent but // should be compatible for a Linux host OS. We should figure out what to do for @@ -99,6 +103,10 @@ cc_library_static { ], }, }, + apex_available: [ + "//apex_available:platform", + "com.android.bluetooth", + ], } // libosi unit tests for target and host diff --git a/system/packet/Android.bp b/system/packet/Android.bp index 3f73da21f9a..45057d84994 100644 --- a/system/packet/Android.bp +++ b/system/packet/Android.bp @@ -15,7 +15,7 @@ cc_library_static { "./include", "./", ], - static_libs: [ + whole_static_libs: [ "lib-bt-packets-base", "lib-bt-packets-avrcp", ], @@ -69,8 +69,6 @@ cc_test { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", diff --git a/system/packet/tests/fuzzers/Android.bp b/system/packet/tests/fuzzers/Android.bp index 3a782073249..eb5090eb7e1 100644 --- a/system/packet/tests/fuzzers/Android.bp +++ b/system/packet/tests/fuzzers/Android.bp @@ -30,8 +30,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -62,8 +60,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -94,8 +90,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -126,8 +120,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -158,8 +150,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -190,8 +180,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -222,8 +210,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -254,8 +240,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -286,8 +270,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -318,8 +300,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -350,8 +330,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -382,8 +360,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -414,8 +390,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -446,8 +420,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -478,8 +450,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -510,8 +480,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -542,8 +510,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -574,8 +540,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -606,8 +570,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -638,8 +600,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -670,8 +630,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -702,8 +660,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -734,8 +690,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -766,8 +720,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", @@ -798,8 +750,6 @@ cc_fuzz { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", ], cflags: [ "-DBUILDCFG", diff --git a/system/profile/avrcp/Android.bp b/system/profile/avrcp/Android.bp index 4459e562398..a8daa91913a 100644 --- a/system/profile/avrcp/Android.bp +++ b/system/profile/avrcp/Android.bp @@ -12,7 +12,6 @@ cc_library_static { defaults: [ "fluoride_defaults", "clang_file_coverage", - "libchrome_support_defaults", ], host_supported: true, include_dirs: [ @@ -33,6 +32,7 @@ cc_library_static { "libosi", ], shared_libs: [ + "libchrome", "liblog", ], apex_available: [ @@ -47,7 +47,6 @@ cc_test { defaults: [ "fluoride_defaults", "clang_coverage_bin", - "libchrome_support_defaults", ], host_supported: true, test_options: { @@ -65,8 +64,6 @@ cc_test { static_libs: [ "libgmock", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", "libosi", "liblog", "libcutils", @@ -74,6 +71,9 @@ cc_test { "libbtdevice", "avrcp-target-service", ], + shared_libs: [ + "libchrome", + ], sanitize: { cfi: false, }, @@ -86,7 +86,6 @@ cc_fuzz { host_supported: true, defaults: [ "fluoride_defaults_fuzzable", - "libchrome_support_defaults", ], srcs: [ "tests/avrcp_device_fuzz/avrcp_device_fuzz.cc", @@ -100,9 +99,8 @@ cc_fuzz { static_libs: [ "avrcp-target-service", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", "libbase", + "libchrome", "libcutils", "libevent", "liblog", diff --git a/system/profile/sdp/Android.bp b/system/profile/sdp/Android.bp index 7db1a4d4b41..8bb883ba0c6 100644 --- a/system/profile/sdp/Android.bp +++ b/system/profile/sdp/Android.bp @@ -44,8 +44,6 @@ cc_test { "libgmock", "sdp_service", "lib-bt-packets", - "lib-bt-packets-base", - "lib-bt-packets-avrcp", "libbluetooth-types", ], } diff --git a/system/service/Android.bp b/system/service/Android.bp index a363d816f16..becc865f157 100644 --- a/system/service/Android.bp +++ b/system/service/Android.bp @@ -92,63 +92,20 @@ cc_binary { btserviceDaemonSrc + ["main.cc"], static_libs: [ - "avrcp-target-service", - "libaudio-a2dp-hw-utils", "libbluetooth-binder-common", - "libbluetooth-dumpsys", - "libbluetooth-types", - "libbt-audio-hal-interface", - "libbt-bta", - "libbt-common", "libbtcore", - "libbtdevice", - "libbte", - "libbt-hci", - "libbtif", - "lib-bt-packets", - "lib-bt-packets-avrcp", - "lib-bt-packets-base", - "libbt-protos-lite", - "libbt-sbc-decoder", - "libbt-sbc-encoder", - "libbt-stack", - "libbt-utils", - "libchrome", - "libflatbuffers-cpp", - "libFraunhoferAAC", - "libg722codec", - "liblc3", + "libbluetooth-types", "libosi", - "libudrv-uipc", ], shared_libs: [ - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "android.hardware.bluetooth.a2dp@1.0", - "android.hardware.bluetooth.audio@2.0", - "android.hardware.bluetooth.audio@2.1", - "android.system.suspend.control-V1-ndk", - "android.system.suspend-V1-ndk", - "libaaudio", + "libchrome", "libbinder", - "libbinder_ndk", - "libcrypto", "libcutils", - "libfmq", "liblog", - "libprocessgroup", - "libprotobuf-cpp-lite", "libutils", ], init_rc: ["bluetoothtbd.rc"], - target: { - android: { - shared_libs: [ - "android.hardware.bluetooth.audio-V1-ndk", - ], - }, - }, } // Native system service unit tests for target and host @@ -168,49 +125,14 @@ cc_test { ], }, static_libs: [ - "avrcp-target-service", - "libaudio-a2dp-hw-utils", "libbluetooth-common", - "libbluetooth-dumpsys", - "libbluetooth-types", - "libbt-audio-hal-interface", - "libbt-bta", - "libbt-common", - "libbtcore", - "libbtdevice", - "libbte", - "libbt-hci", - "libbtif", - "lib-bt-packets", - "lib-bt-packets-avrcp", - "lib-bt-packets-base", - "libbt-protos-lite", - "libbt-sbc-decoder", - "libbt-sbc-encoder", - "libbt-stack", - "libbt-utils", - "libchrome", "libgmock", "liblog", + "libbluetooth-types", "libutils", - "libflatbuffers-cpp", - "libFraunhoferAAC", - "libg722codec", - "liblc3", - "libosi", - "libudrv-uipc", ], shared_libs: [ - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "android.hardware.bluetooth.a2dp@1.0", - "android.hardware.bluetooth.audio@2.0", - "android.hardware.bluetooth.audio@2.1", - "libbinder_ndk", - "libcrypto", - "libfmq", - "libprocessgroup", - "libprotobuf-cpp-lite", + "libchrome", ], host_supported: true, @@ -229,9 +151,6 @@ cc_test { "libbluetooth-binder-common", ], shared_libs: [ - "android.hardware.bluetooth.audio-V1-ndk", - "android.system.suspend.control-V1-ndk", - "android.system.suspend-V1-ndk", "libbinder", ], }, diff --git a/system/service/hal/bluetooth_interface.cc b/system/service/hal/bluetooth_interface.cc index fbf0ef8cd2b..db3cc25418f 100644 --- a/system/service/hal/bluetooth_interface.cc +++ b/system/service/hal/bluetooth_interface.cc @@ -38,10 +38,6 @@ using shared_mutex_impl = std::shared_mutex; using shared_mutex_impl = std::shared_timed_mutex; #endif -#ifndef DYNAMIC_LOAD_BLUETOOTH -extern bt_interface_t bluetoothInterface; -#endif - namespace bluetooth { namespace hal { @@ -269,12 +265,6 @@ constexpr char kLibbluetooth[] = "libbluetooth.so"; constexpr char kBluetoothInterfaceSym[] = "bluetoothInterface"; int hal_util_load_bt_library_from_dlib(const bt_interface_t** interface) { -#ifndef DYNAMIC_LOAD_BLUETOOTH - (void)kLibbluetooth; - (void)kBluetoothInterfaceSym; - *interface = &bluetoothInterface; - return 0; -#else bt_interface_t* itf{nullptr}; // Always try to load the default Bluetooth stack on GN builds. @@ -306,7 +296,6 @@ error: if (handle) dlclose(handle); return -EINVAL; -#endif } } // namespace diff --git a/system/stack/Android.bp b/system/stack/Android.bp index 2d191e48f22..8678e6204f3 100644 --- a/system/stack/Android.bp +++ b/system/stack/Android.bp @@ -27,7 +27,7 @@ cc_test_library { // Bluetooth stack static library for target cc_library_static { name: "libbt-stack", - defaults: ["fluoride_basic_defaults"], + defaults: ["fluoride_defaults"], local_include_dirs: [ "include", "avct", @@ -202,6 +202,17 @@ cc_library_static { ], static_libs: [ "libbt-hci", + "libFraunhoferAAC", + "libbt-platform-protos-lite", + ], + shared_libs: [ + "libcutils", + "liblog", + "libcrypto", + ], + required: [ + "libldacBT_enc", + "libldacBT_abr", ], host_supported: true, } @@ -376,10 +387,10 @@ cc_test { shared_libs: [ "libcrypto", "libcutils", + "libflatbuffers-cpp", ], static_libs: [ "liblog", - "libflatbuffers-cpp", "libgmock", "libosi", ], @@ -818,7 +829,6 @@ cc_test { "libbt-protos-lite", "libbtdevice", "libbt-utils", - "libflatbuffers-cpp", "libgmock", "liblog", "libosi", @@ -826,6 +836,7 @@ cc_test { ], shared_libs: [ "libcrypto", + "libflatbuffers-cpp", "libprotobuf-cpp-lite", ], sanitize: { @@ -969,7 +980,6 @@ cc_test { "libbt-common", "libbt-protos-lite", "libbtdevice", - "libflatbuffers-cpp", "libgmock", "liblog", "libosi", @@ -977,6 +987,7 @@ cc_test { shared_libs: [ "libbinder_ndk", "libcrypto", + "libflatbuffers-cpp", "libprotobuf-cpp-lite", ], sanitize: { @@ -1040,7 +1051,6 @@ cc_test { "libbt-common", "libbt-protos-lite", "libbtdevice", - "libflatbuffers-cpp", "libgmock", "liblog", "libosi", @@ -1048,6 +1058,7 @@ cc_test { shared_libs: [ "libbinder_ndk", "libcrypto", + "libflatbuffers-cpp", "libprotobuf-cpp-lite", ], sanitize: { diff --git a/system/test/headless/Android.bp b/system/test/headless/Android.bp index 298d713a5e1..b0f6c343e29 100644 --- a/system/test/headless/Android.bp +++ b/system/test/headless/Android.bp @@ -33,37 +33,28 @@ cc_test { "libbtcore", ], static_libs: [ - "avrcp-target-service", - "libaudio-a2dp-hw-utils", - "libbluetooth-dumpsys", + "libFraunhoferAAC", "libbluetooth_gd", - "libbluetooth_rust_interop", - "libbt-audio-hal-interface", "libbt-bta", - "libbt_callbacks_cxx", "libbt-common", - "libbtdevice", - "libbte", + "libbluetooth-dumpsys", "libbt-hci", - "libbtif", - "lib-bt-packets", - "lib-bt-packets-avrcp", - "lib-bt-packets-base", "libbt-protos-lite", "libbt-sbc-decoder", "libbt-sbc-encoder", - "libbt_shim_bridge", - "libbt_shim_ffi", "libbt-stack", "libbt-utils", + "libbtdevice", + "libbte", + "libbtif", "libflatbuffers-cpp", - "libFraunhoferAAC", "libg722codec", "liblc3", "libosi", "libprotobuf-cpp-lite", "libudrv-uipc", "libz", + "libbluetooth_rust_interop", ], shared_libs: [ "android.hardware.bluetooth.a2dp@1.0", diff --git a/system/test/rootcanal/Android.bp b/system/test/rootcanal/Android.bp index f0bd2ab8e8a..a6c41d606eb 100644 --- a/system/test/rootcanal/Android.bp +++ b/system/test/rootcanal/Android.bp @@ -24,10 +24,7 @@ package { cc_binary { name: "android.hardware.bluetooth@1.1-service.sim", - defaults: [ - "gd_defaults", - "libchrome_support_defaults" - ], + defaults: ["gd_defaults"], proprietary: true, relative_install_path: "hw", srcs: [ @@ -42,6 +39,7 @@ cc_binary { "android.hardware.bluetooth@1.0", "android.hardware.bluetooth@1.1", "libbase", + "libchrome", "libcutils", "libhidlbase", "libjsoncpp", @@ -79,10 +77,7 @@ cc_binary { cc_library_shared { name: "android.hardware.bluetooth@1.1-impl-sim", - defaults: [ - "gd_defaults", - "libchrome_support_defaults" - ], + defaults: ["gd_defaults"], proprietary: true, relative_install_path: "hw", srcs: [ @@ -96,6 +91,7 @@ cc_library_shared { "android.hardware.bluetooth@1.0", "android.hardware.bluetooth@1.1", "libbase", + "libchrome", "libcutils", "libhidlbase", "libjsoncpp", diff --git a/system/test/suite/Android.bp b/system/test/suite/Android.bp index cace113f2fd..5dc6bcc4cfc 100644 --- a/system/test/suite/Android.bp +++ b/system/test/suite/Android.bp @@ -8,135 +8,71 @@ package { default_applicable_licenses: ["system_bt_license"], } -cc_defaults { - name: "net_test_defaults", +cc_test { + name: "net_test_bluetooth", + test_suites: ["device-tests"], defaults: ["fluoride_defaults"], include_dirs: [ - "frameworks/av/media/libaaudio/include", "packages/modules/Bluetooth/system", - "packages/modules/Bluetooth/system/bta/dm", - "packages/modules/Bluetooth/system/bta/include", - "packages/modules/Bluetooth/system/bta/sys", - "packages/modules/Bluetooth/system/btif/avrcp", - "packages/modules/Bluetooth/system/btif/co", - "packages/modules/Bluetooth/system/btif/include", - "packages/modules/Bluetooth/system/device/include", - "packages/modules/Bluetooth/system/embdrv/sbc/decoder/include", - "packages/modules/Bluetooth/system/embdrv/sbc/encoder/include", "packages/modules/Bluetooth/system/gd", "packages/modules/Bluetooth/system/include", - "packages/modules/Bluetooth/system/internal_include", - "packages/modules/Bluetooth/system/stack/a2dp", - "packages/modules/Bluetooth/system/stack/avdt", - "packages/modules/Bluetooth/system/stack/btm", "packages/modules/Bluetooth/system/stack/include", - "packages/modules/Bluetooth/system/stack/l2cap", - "packages/modules/Bluetooth/system/udrv/include", - "packages/modules/Bluetooth/system/utils/include", - "packages/modules/Bluetooth/system/vnd/include", - "system/libfmq/include", - "system/libhwbinder/include", ], srcs: [ - "adapter/bluetooth_test.cc", - ":BtaDmSources", ":TestCommonMockFunctions", - ":TestMockAndroidHardware", - ":TestMockBtaAr", - ":TestMockBtaAv", - ":TestMockBtaCsis", - ":TestMockBtaGroups", - ":TestMockBtaHas", - ":TestMockBtaHd", - ":TestMockBtaHearingAid", - ":TestMockBtaHf", - ":TestMockBtaHh", - ":TestMockBtaJv", - ":TestMockBtaLeAudio", - ":TestMockBtaLeAudioHalVerifier", - ":TestMockBtaSdp", - ":TestMockBtaVc", - ":TestMockCommon", - ":TestMockFrameworks", - ":TestMockHci", - ":TestMockSystemLibfmq", - ":TestMockUdrv", + ":TestMockBluetoothInterface", + ":TestMockDevice", + "adapter/adapter_unittest.cc", + "adapter/bluetooth_test.cc", + "gatt/gatt_test.cc", + "gatt/gatt_unittest.cc", ], + header_libs: ["libhardware_headers"], shared_libs: [ - "android.hardware.bluetooth@1.0", - "android.hardware.bluetooth@1.1", - "android.hardware.bluetooth.a2dp@1.0", - "android.hardware.bluetooth.audio@2.0", - "android.hardware.bluetooth.audio@2.1", - "android.system.suspend.control-V1-ndk", - "android.system.suspend-V1-ndk", - "libbinder", - "libbinder_ndk", - "libcrypto", - "libcutils", - "libhidlbase", "liblog", - "libstatslog_bt", - "libtinyxml2", + "libcutils", + "libbinder", "libutils", ], static_libs: [ - "avrcp-target-service", - "libaudio-a2dp-hw-utils", - "libbluetooth-dumpsys", - "libbluetooth-types", - "libbluetoothtbd_hal", - "libbt-audio-hal-interface", - "libbt-bta", - "libbt-common", "libbtcore", - "libbtdevice", - "libbte", - "libbt-hci", - "libbtif", - "lib-bt-packets", - "lib-bt-packets-avrcp", - "lib-bt-packets-base", - "libbt-sbc-decoder", - "libbt-sbc-encoder", - "libbt-stack", - "libbt-utils", - "libflatbuffers-cpp", - "libFraunhoferAAC", - "libgmock", - "liblc3", "libosi", ], - header_libs: [ - "libhardware_headers", - "libbluetooth_headers", - ], - target: { - android: { - shared_libs: [ - "android.hardware.bluetooth.audio-V1-ndk", - ], - }, - }, -} - -cc_test { - name: "net_test_bluetooth", - test_suites: ["device-tests"], - defaults: ["net_test_defaults"], - srcs: [ - "adapter/adapter_unittest.cc", - "gatt/gatt_test.cc", - "gatt/gatt_unittest.cc", + whole_static_libs: [ + "libbluetoothtbd_hal", ], } // Bluetooth test suite for target cc_test { name: "net_test_rfcomm_suite", - defaults: ["net_test_defaults"], + defaults: ["fluoride_defaults"], + include_dirs: [ + "packages/modules/Bluetooth/system", + "packages/modules/Bluetooth/system/gd", + "packages/modules/Bluetooth/system/include", + "packages/modules/Bluetooth/system/stack/include", + ], srcs: [ + ":TestMockBluetoothInterface", + ":TestMockDevice", + ":TestCommonMockFunctions", + "adapter/bluetooth_test.cc", "rfcomm/rfcomm_test.cc", "rfcomm/rfcomm_unittest.cc", ], + header_libs: ["libhardware_headers"], + shared_libs: [ + "liblog", + "libcutils", + "libbinder", + "libutils", + ], + static_libs: [ + "libbtcore", + "libosi", + ], + whole_static_libs: [ + "libbluetoothtbd_hal", + ], } diff --git a/system/test/suite/adapter/bluetooth_test.cc b/system/test/suite/adapter/bluetooth_test.cc index 6b24b7509c8..be5660e088f 100644 --- a/system/test/suite/adapter/bluetooth_test.cc +++ b/system/test/suite/adapter/bluetooth_test.cc @@ -48,16 +48,16 @@ void BluetoothTest::SetUp() { acl_state_ = BT_ACL_STATE_DISCONNECTED; bond_state_ = BT_BOND_STATE_NONE; - remove("/data/misc/bluedroid/bt_config.conf.encrypted-checksum"); - remove("/data/misc/bluedroid/bt_config.bak.encrypted-checksum"); - - bluetooth::hal::BluetoothInterface::Initialize(); - ASSERT_TRUE(bluetooth::hal::BluetoothInterface::IsInitialized()); adapter_properties_callback_sem_ = semaphore_new(0); remote_device_properties_callback_sem_ = semaphore_new(0); adapter_state_changed_callback_sem_ = semaphore_new(0); discovery_state_changed_callback_sem_ = semaphore_new(0); + remove("/data/misc/bluedroid/bt_config.conf.encrypted-checksum"); + remove("/data/misc/bluedroid/bt_config.bak.encrypted-checksum"); + + bluetooth::hal::BluetoothInterface::Initialize(); + ASSERT_TRUE(bluetooth::hal::BluetoothInterface::IsInitialized()); auto bt_hal_interface = bluetooth::hal::BluetoothInterface::Get(); bt_hal_interface->AddObserver(this); bt_interface_ = bt_hal_interface->GetHALInterface(); -- GitLab