Loading system/btif/src/btif_hh.cc +4 −2 Original line number Diff line number Diff line Loading @@ -537,7 +537,8 @@ bt_status_t btif_hh_virtual_unplug(const RawAddress* bd_addr) { p_dev = btif_hh_find_dev_by_bda(*bd_addr); if ((p_dev != NULL) && (p_dev->dev_status == BTHH_CONN_STATE_CONNECTED) && (p_dev->attr_mask & HID_VIRTUAL_CABLE)) { BTIF_TRACE_DEBUG("%s Sending BTA_HH_CTRL_VIRTUAL_CABLE_UNPLUG", __func__); BTIF_TRACE_DEBUG("%s: Sending BTA_HH_CTRL_VIRTUAL_CABLE_UNPLUG for: %s", __func__, bd_addr->ToString().c_str()); /* start the timer */ btif_hh_start_vup_timer(bd_addr); p_dev->local_vup = true; Loading @@ -545,7 +546,8 @@ bt_status_t btif_hh_virtual_unplug(const RawAddress* bd_addr) { return BT_STATUS_SUCCESS; } else if ((p_dev != NULL) && (p_dev->dev_status == BTHH_CONN_STATE_CONNECTED)) { BTIF_TRACE_ERROR("%s: Virtual unplug not suported, disconnecting device"); BTIF_TRACE_ERROR("%s: Virtual unplug not suported, disconnecting device: %s", __func__, bd_addr->ToString().c_str()); /* start the timer */ btif_hh_start_vup_timer(bd_addr); p_dev->local_vup = true; Loading system/gd/Android.bp +6 −0 Original line number Diff line number Diff line Loading @@ -135,6 +135,7 @@ cc_binary { ":BluetoothFacade_hci_hal", ":BluetoothFacade_hci_layer", ":BluetoothFacade_l2cap_layer", ":BluetoothFacade_security_layer", ], generated_headers: [ "BluetoothGeneratedPackets_h", Loading Loading @@ -400,6 +401,7 @@ filegroup { "hci/facade.proto", "hci/facade/le_advertising_manager_facade.proto", "l2cap/classic/facade.proto", "security/facade.proto", ], } Loading @@ -426,6 +428,8 @@ genrule { "hci/facade/le_advertising_manager_facade.pb.h", "l2cap/classic/facade.grpc.pb.h", "l2cap/classic/facade.pb.h", "security/facade.grpc.pb.h", "security/facade.pb.h", ], } Loading @@ -452,6 +456,8 @@ genrule { "hci/facade/le_advertising_manager_facade.pb.cc", "l2cap/classic/facade.grpc.pb.cc", "l2cap/classic/facade.pb.cc", "security/facade.grpc.pb.cc", "security/facade.pb.cc", ], } Loading system/gd/facade/common.proto +5 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,11 @@ enum BluetoothAddressTypeEnum { RANDOM_IDENTITY_ADDRESS = 0x3; } message BluetoothAddressWithType { BluetoothAddress address = 1; BluetoothAddressTypeEnum type = 2; } enum BluetoothPeerAddressTypeEnum { PUBLIC_DEVICE_OR_IDENTITY_ADDRESS = 0x0; RANDOM_DEVICE_OR_IDENTITY_ADDRESS = 0x1; Loading system/gd/hci/le_report.h +1 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ class LeReport { const AdvertisingEventType advertising_event_type_{}; const Address address_{}; const AddressType address_type_{}; const uint8_t rssi_; const int8_t rssi_; const std::vector<GapData> gap_data_{}; }; Loading system/gd/l2cap/classic/cert/cert.cc +18 −0 Original line number Diff line number Diff line Loading @@ -395,6 +395,24 @@ class L2capClassicModuleCertService : public L2capClassicModuleCert::Service { FetchL2capLogResponse response; response.mutable_configuration_request()->set_signal_id(control_view.GetIdentifier()); response.mutable_configuration_request()->set_dcid(view.GetDestinationCid()); for (auto& option : view.GetConfig()) { if (option->type_ == ConfigurationOptionType::RETRANSMISSION_AND_FLOW_CONTROL) { auto config = RetransmissionAndFlowControlConfigurationOption::Specialize(option.get()); response.mutable_configuration_request()->mutable_retransmission_config()->set_mode( ChannelRetransmissionFlowControlMode::ERTM); response.mutable_configuration_request()->mutable_retransmission_config()->set_tx_window( config->tx_window_size_); response.mutable_configuration_request()->mutable_retransmission_config()->set_max_transmit( config->max_transmit_); response.mutable_configuration_request()->mutable_retransmission_config()->set_retransmit_timeout( config->retransmission_time_out_); response.mutable_configuration_request()->mutable_retransmission_config()->set_monitor_timeout( config->monitor_time_out_); response.mutable_configuration_request()->mutable_retransmission_config()->set_mps( config->maximum_pdu_size_); } } LogEvent(response); break; } Loading Loading
system/btif/src/btif_hh.cc +4 −2 Original line number Diff line number Diff line Loading @@ -537,7 +537,8 @@ bt_status_t btif_hh_virtual_unplug(const RawAddress* bd_addr) { p_dev = btif_hh_find_dev_by_bda(*bd_addr); if ((p_dev != NULL) && (p_dev->dev_status == BTHH_CONN_STATE_CONNECTED) && (p_dev->attr_mask & HID_VIRTUAL_CABLE)) { BTIF_TRACE_DEBUG("%s Sending BTA_HH_CTRL_VIRTUAL_CABLE_UNPLUG", __func__); BTIF_TRACE_DEBUG("%s: Sending BTA_HH_CTRL_VIRTUAL_CABLE_UNPLUG for: %s", __func__, bd_addr->ToString().c_str()); /* start the timer */ btif_hh_start_vup_timer(bd_addr); p_dev->local_vup = true; Loading @@ -545,7 +546,8 @@ bt_status_t btif_hh_virtual_unplug(const RawAddress* bd_addr) { return BT_STATUS_SUCCESS; } else if ((p_dev != NULL) && (p_dev->dev_status == BTHH_CONN_STATE_CONNECTED)) { BTIF_TRACE_ERROR("%s: Virtual unplug not suported, disconnecting device"); BTIF_TRACE_ERROR("%s: Virtual unplug not suported, disconnecting device: %s", __func__, bd_addr->ToString().c_str()); /* start the timer */ btif_hh_start_vup_timer(bd_addr); p_dev->local_vup = true; Loading
system/gd/Android.bp +6 −0 Original line number Diff line number Diff line Loading @@ -135,6 +135,7 @@ cc_binary { ":BluetoothFacade_hci_hal", ":BluetoothFacade_hci_layer", ":BluetoothFacade_l2cap_layer", ":BluetoothFacade_security_layer", ], generated_headers: [ "BluetoothGeneratedPackets_h", Loading Loading @@ -400,6 +401,7 @@ filegroup { "hci/facade.proto", "hci/facade/le_advertising_manager_facade.proto", "l2cap/classic/facade.proto", "security/facade.proto", ], } Loading @@ -426,6 +428,8 @@ genrule { "hci/facade/le_advertising_manager_facade.pb.h", "l2cap/classic/facade.grpc.pb.h", "l2cap/classic/facade.pb.h", "security/facade.grpc.pb.h", "security/facade.pb.h", ], } Loading @@ -452,6 +456,8 @@ genrule { "hci/facade/le_advertising_manager_facade.pb.cc", "l2cap/classic/facade.grpc.pb.cc", "l2cap/classic/facade.pb.cc", "security/facade.grpc.pb.cc", "security/facade.pb.cc", ], } Loading
system/gd/facade/common.proto +5 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,11 @@ enum BluetoothAddressTypeEnum { RANDOM_IDENTITY_ADDRESS = 0x3; } message BluetoothAddressWithType { BluetoothAddress address = 1; BluetoothAddressTypeEnum type = 2; } enum BluetoothPeerAddressTypeEnum { PUBLIC_DEVICE_OR_IDENTITY_ADDRESS = 0x0; RANDOM_DEVICE_OR_IDENTITY_ADDRESS = 0x1; Loading
system/gd/hci/le_report.h +1 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ class LeReport { const AdvertisingEventType advertising_event_type_{}; const Address address_{}; const AddressType address_type_{}; const uint8_t rssi_; const int8_t rssi_; const std::vector<GapData> gap_data_{}; }; Loading
system/gd/l2cap/classic/cert/cert.cc +18 −0 Original line number Diff line number Diff line Loading @@ -395,6 +395,24 @@ class L2capClassicModuleCertService : public L2capClassicModuleCert::Service { FetchL2capLogResponse response; response.mutable_configuration_request()->set_signal_id(control_view.GetIdentifier()); response.mutable_configuration_request()->set_dcid(view.GetDestinationCid()); for (auto& option : view.GetConfig()) { if (option->type_ == ConfigurationOptionType::RETRANSMISSION_AND_FLOW_CONTROL) { auto config = RetransmissionAndFlowControlConfigurationOption::Specialize(option.get()); response.mutable_configuration_request()->mutable_retransmission_config()->set_mode( ChannelRetransmissionFlowControlMode::ERTM); response.mutable_configuration_request()->mutable_retransmission_config()->set_tx_window( config->tx_window_size_); response.mutable_configuration_request()->mutable_retransmission_config()->set_max_transmit( config->max_transmit_); response.mutable_configuration_request()->mutable_retransmission_config()->set_retransmit_timeout( config->retransmission_time_out_); response.mutable_configuration_request()->mutable_retransmission_config()->set_monitor_timeout( config->monitor_time_out_); response.mutable_configuration_request()->mutable_retransmission_config()->set_mps( config->maximum_pdu_size_); } } LogEvent(response); break; } Loading