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

Commit 796e2150 authored by Rahul Arya's avatar Rahul Arya Committed by Android (Google) Code Review
Browse files

Merge changes from topic "cherrypicker-L56900000957135174:N84400001307540511" into tm-qpr-dev

* changes:
  Fix advertising enable completion callbacks
  Simplify TestHciLayer
  Revert^2 Move TestHciLayer into a separate file
  Fix flagging for L2CAP fix
  Fix infinite L2CAP timeout when ATT is used without GATT clients
  Avoid out-of-order L2CAP CoC callbacks on channel creation
parents 7b28e67f 76c7a654
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -11,8 +11,11 @@ table InitFlagsData {
    gd_acl_enabled:bool (privacy:"Any");
    gd_hci_enabled:bool (privacy:"Any");
    gd_controller_enabled:bool (privacy:"Any");

    asynchronously_start_l2cap_coc_is_enabled:bool (privacy:"Any");
    btaa_hci_is_enabled:bool (privacy:"Any");
    btm_dm_flush_discovery_queue_on_search_cancel_is_enabled:bool (privacy:"Any");
    finite_att_timeout_is_enabled:bool (privacy:"Any");
    gatt_robust_caching_client_is_enabled:bool (privacy:"Any");
    gatt_robust_caching_server_is_enabled:bool (privacy:"Any");
    gd_core_is_enabled:bool (privacy:"Any");
@@ -28,6 +31,7 @@ table InitFlagsData {
    pass_phy_update_callback_is_enabled:bool (privacy:"Any");
    sdp_serialization_is_enabled:bool (privacy:"Any");
    sdp_skip_rnr_if_known_is_enabled:bool (privacy:"Any");
    trigger_advertising_callbacks_on_first_resume_after_pause_is_enabled:bool (privacy:"Any");
}
// LINT.ThenChange(/system/gd/dumpsys/init_flags.cc)

+7 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */

#include "common/init_flags.h"

#include "dumpsys/init_flags.h"
#include "init_flags_generated.h"

@@ -31,9 +32,12 @@ flatbuffers::Offset<bluetooth::common::InitFlagsData> bluetooth::dumpsys::InitFl
  builder.add_gd_acl_enabled(true);
  builder.add_gd_hci_enabled(true);
  builder.add_gd_controller_enabled(true);

  builder.add_asynchronously_start_l2cap_coc_is_enabled(initFlags::asynchronously_start_l2cap_coc_is_enabled());
  builder.add_btaa_hci_is_enabled(initFlags::btaa_hci_is_enabled());
  builder.add_btm_dm_flush_discovery_queue_on_search_cancel_is_enabled(
      initFlags::btm_dm_flush_discovery_queue_on_search_cancel_is_enabled());
  builder.add_finite_att_timeout_is_enabled(initFlags::finite_att_timeout_is_enabled());
  builder.add_gatt_robust_caching_client_is_enabled(initFlags::gatt_robust_caching_client_is_enabled());
  builder.add_gatt_robust_caching_server_is_enabled(initFlags::gatt_robust_caching_server_is_enabled());
  builder.add_gd_core_is_enabled(initFlags::gd_core_is_enabled());
@@ -48,6 +52,9 @@ flatbuffers::Offset<bluetooth::common::InitFlagsData> bluetooth::dumpsys::InitFl
  builder.add_pass_phy_update_callback_is_enabled(initFlags::pass_phy_update_callback_is_enabled());
  builder.add_sdp_serialization_is_enabled(initFlags::sdp_serialization_is_enabled());
  builder.add_sdp_skip_rnr_if_known_is_enabled(initFlags::sdp_skip_rnr_if_known_is_enabled());
  builder.add_trigger_advertising_callbacks_on_first_resume_after_pause_is_enabled(
      initFlags::trigger_advertising_callbacks_on_first_resume_after_pause_is_enabled());

  return builder.Finish();
}
// LINT.ThenChange(/system/gd/rust/common/src/init_flags.rs)
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ filegroup {
        "address_with_type_test.cc",
        "class_of_device_unittest.cc",
        "controller_test.cc",
        "hci_layer_fake.cc",
        "hci_layer_unittest.cc",
        "hci_packets_test.cc",
        "uuid_unittest.cc",
+3 −0
Original line number Diff line number Diff line
@@ -163,6 +163,8 @@ namespace bluetooth {
namespace hci {
namespace acl_manager {

namespace {

PacketView<kLittleEndian> GetPacketView(std::unique_ptr<packet::BasePacketBuilder> packet) {
  auto bytes = std::make_shared<std::vector<uint8_t>>();
  BitInserter i(*bytes);
@@ -382,6 +384,7 @@ class TestHciLayer : public HciLayer {
  std::unique_ptr<std::future<void>> command_future_;
  CommandInterfaceImpl<AclCommandBuilder> le_acl_connection_manager_interface_{*this};
};
}  // namespace

class MockLeConnectionCallbacks : public LeConnectionCallbacks {
 public:
+2 −1
Original line number Diff line number Diff line
@@ -54,7 +54,6 @@ constexpr uint64_t kRandomNumber = 0x123456789abcdef0;
uint16_t feature_spec_version = 55;
constexpr char title[] = "hci_controller_test";

}  // namespace

PacketView<kLittleEndian> GetPacketView(std::unique_ptr<packet::BasePacketBuilder> packet) {
  auto bytes = std::make_shared<std::vector<uint8_t>>();
@@ -64,6 +63,8 @@ PacketView<kLittleEndian> GetPacketView(std::unique_ptr<packet::BasePacketBuilde
  return packet::PacketView<packet::kLittleEndian>(bytes);
}

}  // namespace

class TestHciLayer : public HciLayer {
 public:
  void EnqueueCommand(
Loading