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

Commit f48b2c28 authored by Hansong Zhang's avatar Hansong Zhang Committed by Automerger Merge Worker
Browse files

Re-route LE adv set terminate callback am: 68fbd662

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0ddc8902ed33338e22133cbe2dd644180aa6ac68
parents f9ee9536 68fbd662
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -229,6 +229,12 @@ void AclManager::WriteDefaultLinkPolicySettings(uint16_t default_link_policy_set
  CallOn(pimpl_->classic_impl_, &classic_impl::write_default_link_policy_settings, default_link_policy_settings);
}

void AclManager::OnAdvertisingSetTerminated(ErrorCode status, uint16_t conn_handle, hci::AddressWithType adv_address) {
  if (status == ErrorCode::SUCCESS) {
    CallOn(pimpl_->le_impl_, &le_impl::UpdateLocalAddress, conn_handle, adv_address);
  }
}

void AclManager::SetSecurityModule(security::SecurityModule* security_module) {
  CallOn(pimpl_->classic_impl_, &classic_impl::set_security_module, security_module);
}
+3 −0
Original line number Diff line number Diff line
@@ -106,6 +106,9 @@ public:
 virtual uint16_t ReadDefaultLinkPolicySettings();
 virtual void WriteDefaultLinkPolicySettings(uint16_t default_link_policy_settings);

 // Callback from Advertising Manager to notify the advitiser (local) address
 virtual void OnAdvertisingSetTerminated(ErrorCode status, uint16_t conn_handle, hci::AddressWithType adv_address);

 // In order to avoid circular dependency use setter rather than module dependency.
 virtual void SetSecurityModule(security::SecurityModule* security_module);

+3 −0
Original line number Diff line number Diff line
@@ -61,6 +61,9 @@ class LeAclConnectionTracker : public LeConnectionManagementCallbacks {
  void OnPhyUpdate(uint8_t tx_phy, uint8_t rx_phy) override {
    SAVE_OR_CALL(OnPhyUpdate, tx_phy, rx_phy);
  }
  void OnLocalAddressUpdate(AddressWithType address_with_type) override {
    SAVE_OR_CALL(OnLocalAddressUpdate, address_with_type);
  }

  void OnDisconnection(ErrorCode reason) override {
    SAVE_OR_CALL(OnDisconnection, reason);
+2 −2
Original line number Diff line number Diff line
@@ -42,8 +42,8 @@ class LeAclConnection : public AclConnection {
    return local_address_;
  }

  virtual void SetLocalAddress(AddressWithType local_address) {
    local_address_ = local_address;
  virtual void UpdateLocalAddress(AddressWithType address) {
    local_address_ = address;
  }

  virtual AddressWithType GetRemoteAddress() const {
+3 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
#pragma once

#include <memory>

#include "hci/address_with_type.h"
#include "hci/hci_packets.h"

namespace bluetooth {
@@ -33,6 +35,7 @@ class LeConnectionManagementCallbacks {
  virtual void OnReadRemoteVersionInformationComplete(
      uint8_t lmp_version, uint16_t manufacturer_name, uint16_t sub_version) = 0;
  virtual void OnPhyUpdate(uint8_t tx_phy, uint8_t rx_phy) = 0;
  virtual void OnLocalAddressUpdate(AddressWithType address_with_type) = 0;
};

}  // namespace acl_manager
Loading