Loading system/btif/src/btif_dm.cc +4 −3 Original line number Diff line number Diff line Loading @@ -478,16 +478,17 @@ static void btif_update_remote_version_property(RawAddress* p_bd) { uint8_t lmp_ver = 0; uint16_t lmp_subver = 0; uint16_t mfct_set = 0; tBTM_STATUS btm_status; bool version_info_valid = false; bt_remote_version_t info; bt_status_t status; btm_status = BTM_ReadRemoteVersion(*p_bd, &lmp_ver, &mfct_set, &lmp_subver); version_info_valid = BTM_ReadRemoteVersion(*p_bd, &lmp_ver, &mfct_set, &lmp_subver); LOG_INFO("remote version info [%s]: %x, %x, %x", p_bd->ToString().c_str(), lmp_ver, mfct_set, lmp_subver); if (btm_status == BTM_SUCCESS) { if (version_info_valid) { // Always update cache to ensure we have availability whenever BTM API is // not populated info.manufacturer = mfct_set; Loading system/gd/hci/acl_manager/acl_connection.h +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ class AclConnection { return handle_; } virtual bool ReadRemoteVersionInformation() = 0; using Queue = common::BidiQueue<PacketView<kLittleEndian>, BasePacketBuilder>; using QueueUpEnd = common::BidiQueueEnd<BasePacketBuilder, PacketView<kLittleEndian>>; using QueueDownEnd = common::BidiQueueEnd<PacketView<kLittleEndian>, BasePacketBuilder>; Loading system/gd/hci/acl_manager/classic_acl_connection.h +1 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ class ClassicAclConnection : public AclConnection { virtual bool ReadAfhChannelMap(); virtual bool ReadRssi(); virtual bool ReadClock(WhichClock which_clock); virtual bool ReadRemoteVersionInformation(); virtual bool ReadRemoteVersionInformation() override; virtual bool ReadRemoteSupportedFeatures(); virtual bool ReadRemoteExtendedFeatures(uint8_t page_number); Loading system/gd/hci/acl_manager/le_acl_connection.cc +4 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,10 @@ bool LeAclConnection::LeConnectionUpdate(uint16_t conn_interval_min, uint16_t co return true; } bool LeAclConnection::ReadRemoteVersionInformation() { return false; } bool LeAclConnection::check_connection_parameters( uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout) { if (conn_interval_min < 0x0006 || conn_interval_min > 0x0C80 || conn_interval_max < 0x0006 || Loading system/gd/hci/acl_manager/le_acl_connection.h +3 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,9 @@ class LeAclConnection : public AclConnection { virtual bool LeConnectionUpdate(uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout, uint16_t min_ce_length, uint16_t max_ce_length); virtual bool ReadRemoteVersionInformation() override; // TODO implement LeRemoteConnectionParameterRequestReply, LeRemoteConnectionParameterRequestNegativeReply // Called once before passing the connection to the client Loading Loading
system/btif/src/btif_dm.cc +4 −3 Original line number Diff line number Diff line Loading @@ -478,16 +478,17 @@ static void btif_update_remote_version_property(RawAddress* p_bd) { uint8_t lmp_ver = 0; uint16_t lmp_subver = 0; uint16_t mfct_set = 0; tBTM_STATUS btm_status; bool version_info_valid = false; bt_remote_version_t info; bt_status_t status; btm_status = BTM_ReadRemoteVersion(*p_bd, &lmp_ver, &mfct_set, &lmp_subver); version_info_valid = BTM_ReadRemoteVersion(*p_bd, &lmp_ver, &mfct_set, &lmp_subver); LOG_INFO("remote version info [%s]: %x, %x, %x", p_bd->ToString().c_str(), lmp_ver, mfct_set, lmp_subver); if (btm_status == BTM_SUCCESS) { if (version_info_valid) { // Always update cache to ensure we have availability whenever BTM API is // not populated info.manufacturer = mfct_set; Loading
system/gd/hci/acl_manager/acl_connection.h +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ class AclConnection { return handle_; } virtual bool ReadRemoteVersionInformation() = 0; using Queue = common::BidiQueue<PacketView<kLittleEndian>, BasePacketBuilder>; using QueueUpEnd = common::BidiQueueEnd<BasePacketBuilder, PacketView<kLittleEndian>>; using QueueDownEnd = common::BidiQueueEnd<PacketView<kLittleEndian>, BasePacketBuilder>; Loading
system/gd/hci/acl_manager/classic_acl_connection.h +1 −1 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ class ClassicAclConnection : public AclConnection { virtual bool ReadAfhChannelMap(); virtual bool ReadRssi(); virtual bool ReadClock(WhichClock which_clock); virtual bool ReadRemoteVersionInformation(); virtual bool ReadRemoteVersionInformation() override; virtual bool ReadRemoteSupportedFeatures(); virtual bool ReadRemoteExtendedFeatures(uint8_t page_number); Loading
system/gd/hci/acl_manager/le_acl_connection.cc +4 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,10 @@ bool LeAclConnection::LeConnectionUpdate(uint16_t conn_interval_min, uint16_t co return true; } bool LeAclConnection::ReadRemoteVersionInformation() { return false; } bool LeAclConnection::check_connection_parameters( uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout) { if (conn_interval_min < 0x0006 || conn_interval_min > 0x0C80 || conn_interval_max < 0x0006 || Loading
system/gd/hci/acl_manager/le_acl_connection.h +3 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,9 @@ class LeAclConnection : public AclConnection { virtual bool LeConnectionUpdate(uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout, uint16_t min_ce_length, uint16_t max_ce_length); virtual bool ReadRemoteVersionInformation() override; // TODO implement LeRemoteConnectionParameterRequestReply, LeRemoteConnectionParameterRequestNegativeReply // Called once before passing the connection to the client Loading