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

Commit b6f7ab5c authored by Rahul Sabnis's avatar Rahul Sabnis
Browse files

Remove dependency of the hci hal on activity attribution if the flag

value indicates it is not enabled. Adds activity attribution to gd
dumpsys.

Tag: #feature
Bug: 182283555
Test: Manual
Change-Id: I4c01dcda9d5a9b6e1273285fa32c95386329cf80
parent d97c6b23
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();