From 47c0282de8af17ed5c3e7048a7fe5c7e137dd618 Mon Sep 17 00:00:00 2001 From: Myles Watson Date: Mon, 28 Aug 2023 11:53:31 -0700 Subject: [PATCH] Remove PDL from the HAL The benefit is small and it's painful to make libraries available to apexes and the platform. Bug: 296427840 Test: mma -j32 Change-Id: I7f2ed8636b90de415b8d5635dcd7c568810323bd --- bluetooth/aidl/default/Android.bp | 7 ------- bluetooth/aidl/default/BluetoothHci.cpp | 28 +++++++++++-------------- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/bluetooth/aidl/default/Android.bp b/bluetooth/aidl/default/Android.bp index 32d1a139e5..3f4ba9903a 100644 --- a/bluetooth/aidl/default/Android.bp +++ b/bluetooth/aidl/default/Android.bp @@ -30,15 +30,8 @@ cc_library_static { defaults: ["android.hardware.bluetooth-service-build-defaults"], srcs: [ "BluetoothHci.cpp", - ":BluetoothPacketSources", "net_bluetooth_mgmt.cpp", ], - generated_headers: [ - "BluetoothGeneratedPackets_h", - ], - include_dirs: [ - "packages/modules/Bluetooth/system/gd", - ], } cc_binary { diff --git a/bluetooth/aidl/default/BluetoothHci.cpp b/bluetooth/aidl/default/BluetoothHci.cpp index 013ab7f874..9862e9e54d 100644 --- a/bluetooth/aidl/default/BluetoothHci.cpp +++ b/bluetooth/aidl/default/BluetoothHci.cpp @@ -29,11 +29,6 @@ #include "log/log.h" -// TODO: Remove custom logging defines from PDL packets. -#undef LOG_INFO -#undef LOG_DEBUG -#include "hci/hci_packets.h" - namespace { int SetTerminalRaw(int fd) { termios terminal_settings; @@ -140,9 +135,7 @@ int BluetoothHci::getFdFromDevPath() { void BluetoothHci::reset() { // Send a reset command and wait until the command complete comes back. - std::vector reset; - ::bluetooth::packet::BitInserter bi{reset}; - ::bluetooth::hci::ResetBuilder::Create()->Serialize(bi); + std::vector reset = {0x03, 0x0c, 0x00}; auto resetPromise = std::make_shared>(); auto resetFuture = resetPromise->get_future(); @@ -162,13 +155,15 @@ void BluetoothHci::reset() { static_cast(raw_sco.size())); }, [resetPromise](const std::vector& raw_event) { - bool valid = ::bluetooth::hci::ResetCompleteView::Create( - ::bluetooth::hci::CommandCompleteView::Create( - ::bluetooth::hci::EventView::Create( - ::bluetooth::hci::PacketView( - std::make_shared>( - raw_event))))) - .IsValid(); + std::vector reset_complete = {0x0e, 0x04, 0x01, + 0x03, 0x0c, 0x00}; + bool valid = raw_event.size() == 6 && + raw_event[0] == reset_complete[0] && + raw_event[1] == reset_complete[1] && + // Don't compare the number of packets field. + raw_event[3] == reset_complete[3] && + raw_event[4] == reset_complete[4] && + raw_event[5] == reset_complete[5]; if (valid) { resetPromise->set_value(); } else { @@ -306,7 +301,8 @@ ndk::ScopedAStatus BluetoothHci::close() { { std::lock_guard guard(mStateMutex); if (mState != HalState::ONE_CLIENT) { - ASSERT(mState != HalState::INITIALIZING); + LOG_ALWAYS_FATAL_IF(mState == HalState::INITIALIZING, + "mState is INITIALIZING"); ALOGI("Already closed"); return ndk::ScopedAStatus::ok(); }