Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 779bf153 authored by Rahul Sabnis's avatar Rahul Sabnis Committed by Automerger Merge Worker
Browse files

Remove dependency of the hci hal on activity attribution if the flag am: b6f7ab5c am: 0d565ec1

Original change: https://android-review.googlesource.com/c/platform/system/bt/+/1650824

Change-Id: Ied424b14f21a8079d49479edfaeea31c582c675a
parents e040b7a2 0d565ec1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ table InitFlagsData {
    gd_hci_enabled:bool;
    gd_controller_enabled:bool;
    gd_core_enabled:bool;
    btaa_hci_log_enabled:bool;
}

root_type InitFlagsData;
+1 −0
Original line number Diff line number Diff line
@@ -30,5 +30,6 @@ flatbuffers::Offset<bluetooth::common::InitFlagsData> bluetooth::dumpsys::InitFl
  builder.add_gd_hci_enabled(bluetooth::common::init_flags::gd_hci_is_enabled());
  builder.add_gd_controller_enabled(bluetooth::common::init_flags::gd_controller_is_enabled());
  builder.add_gd_core_enabled(bluetooth::common::init_flags::gd_core_is_enabled());
  builder.add_btaa_hci_log_enabled(bluetooth::common::init_flags::btaa_hci_is_enabled());
  return builder.Finish();
}
+25 −8
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <vector>

#include "btaa/activity_attribution.h"
#include "common/init_flags.h"
#include "common/stop_watch.h"
#include "common/strings.h"
#include "hal/hci_hal.h"
@@ -90,7 +91,9 @@ class InternalHciCallbacks : public IBluetoothHciCallbacks {
    common::StopWatch(GetTimerText(__func__, event));
    std::vector<uint8_t> received_hci_packet(event.begin(), event.end());
    btsnoop_logger_->Capture(received_hci_packet, SnoopLogger::Direction::INCOMING, SnoopLogger::PacketType::EVT);
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_->Capture(received_hci_packet, SnoopLogger::PacketType::EVT);
    }
    if (callback_ != nullptr) {
      callback_->hciEventReceived(std::move(received_hci_packet));
    }
@@ -101,7 +104,9 @@ class InternalHciCallbacks : public IBluetoothHciCallbacks {
    common::StopWatch(GetTimerText(__func__, data));
    std::vector<uint8_t> received_hci_packet(data.begin(), data.end());
    btsnoop_logger_->Capture(received_hci_packet, SnoopLogger::Direction::INCOMING, SnoopLogger::PacketType::ACL);
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_->Capture(received_hci_packet, SnoopLogger::PacketType::ACL);
    }
    if (callback_ != nullptr) {
      callback_->aclDataReceived(std::move(received_hci_packet));
    }
@@ -112,7 +117,9 @@ class InternalHciCallbacks : public IBluetoothHciCallbacks {
    common::StopWatch(GetTimerText(__func__, data));
    std::vector<uint8_t> received_hci_packet(data.begin(), data.end());
    btsnoop_logger_->Capture(received_hci_packet, SnoopLogger::Direction::INCOMING, SnoopLogger::PacketType::SCO);
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_->Capture(received_hci_packet, SnoopLogger::PacketType::SCO);
    }
    if (callback_ != nullptr) {
      callback_->scoDataReceived(std::move(received_hci_packet));
    }
@@ -151,21 +158,27 @@ class HciHalHidl : public HciHal {
  void sendHciCommand(HciPacket command) override {
    common::StopWatch(GetTimerText(__func__, command));
    btsnoop_logger_->Capture(command, SnoopLogger::Direction::OUTGOING, SnoopLogger::PacketType::CMD);
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_->Capture(command, SnoopLogger::PacketType::CMD);
    }
    bt_hci_->sendHciCommand(command);
  }

  void sendAclData(HciPacket packet) override {
    common::StopWatch(GetTimerText(__func__, packet));
    btsnoop_logger_->Capture(packet, SnoopLogger::Direction::OUTGOING, SnoopLogger::PacketType::ACL);
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_->Capture(packet, SnoopLogger::PacketType::ACL);
    }
    bt_hci_->sendAclData(packet);
  }

  void sendScoData(HciPacket packet) override {
    common::StopWatch(GetTimerText(__func__, packet));
    btsnoop_logger_->Capture(packet, SnoopLogger::Direction::OUTGOING, SnoopLogger::PacketType::SCO);
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_->Capture(packet, SnoopLogger::PacketType::SCO);
    }
    bt_hci_->sendScoData(packet);
  }

@@ -183,11 +196,15 @@ class HciHalHidl : public HciHal {
 protected:
  void ListDependencies(ModuleList* list) override {
    list->add<SnoopLogger>();
    if (common::init_flags::btaa_hci_is_enabled()) {
      list->add<activity_attribution::ActivityAttribution>();
    }
  }

  void Start() override {
    if (common::init_flags::btaa_hci_is_enabled()) {
      btaa_logger_ = GetDependency<activity_attribution::ActivityAttribution>();
    }
    btsnoop_logger_ = GetDependency<SnoopLogger>();

    bt_hci_1_1_ = IBluetoothHci::getService();