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

Commit 68d769dd authored by Abel Lucas's avatar Abel Lucas Committed by Gerrit Code Review
Browse files

Merge "Revert "le_scanning_manager: Avoid sending double enabled commands"" into main

parents e7a0e357 71e9dbae
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -104,10 +104,6 @@ CommandView TestHciLayer::GetCommand() {
  return command_packet_view;
}

void TestHciLayer::AssertNoQueuedCommand() {
  EXPECT_TRUE(command_queue_.empty());
}

void TestHciLayer::RegisterEventHandler(
    EventCode event_code, common::ContextualCallback<void(EventView)> event_handler) {
  registered_events_[event_code] = event_handler;
+0 −2
Original line number Diff line number Diff line
@@ -42,8 +42,6 @@ class TestHciLayer : public HciLayer {

  CommandView GetCommand();

  void AssertNoQueuedCommand();

  void RegisterEventHandler(EventCode event_code, common::ContextualCallback<void(EventView)> event_handler) override;

  void UnregisterEventHandler(EventCode event_code) override;
+0 −4
Original line number Diff line number Diff line
@@ -561,8 +561,6 @@ struct LeScanningManager::impl : public LeAddressManagerCallback {
      scan_on_resume_ = true;
      return;
    }
    scan_on_resume_ = false;

    is_scanning_ = true;
    if (!address_manager_registered_) {
      le_address_manager_->Register(this);
@@ -586,8 +584,6 @@ struct LeScanningManager::impl : public LeAddressManagerCallback {
  }

  void stop_scan() {
    scan_on_resume_ = false;

    if (!is_scanning_) {
      LOG_INFO("Scanning already stopped, return!");
      return;
+0 −35
Original line number Diff line number Diff line
@@ -611,41 +611,6 @@ TEST_F(LeScanningManagerExtendedTest, start_scan_test) {
  test_hci_layer_->IncomingLeMetaEvent(LeExtendedAdvertisingReportBuilder::Create({report}));
}

TEST_F(LeScanningManagerExtendedTest, start_scan_on_resume_conflict_test) {
  TestLeAddressManager* test_le_address_manager =
      (TestLeAddressManager*)test_acl_manager_->GetLeAddressManager();

  // Enable scan
  le_scanning_manager->Scan(true);
  ASSERT_EQ(OpCode::LE_SET_EXTENDED_SCAN_PARAMETERS, test_hci_layer_->GetCommand().GetOpCode());
  test_hci_layer_->IncomingEvent(
      LeSetExtendedScanParametersCompleteBuilder::Create(uint8_t{1}, ErrorCode::SUCCESS));
  ASSERT_EQ(OpCode::LE_SET_EXTENDED_SCAN_ENABLE, test_hci_layer_->GetCommand().GetOpCode());
  test_hci_layer_->IncomingEvent(
      LeSetExtendedScanEnableCompleteBuilder::Create(uint8_t{1}, ErrorCode::SUCCESS));

  test_le_address_manager->client_->OnPause();
  ASSERT_EQ(OpCode::LE_SET_EXTENDED_SCAN_ENABLE, test_hci_layer_->GetCommand().GetOpCode());
  test_hci_layer_->IncomingEvent(
      LeSetExtendedScanEnableCompleteBuilder::Create(uint8_t{1}, ErrorCode::SUCCESS));

  le_scanning_manager->Scan(false);
  test_hci_layer_->AssertNoQueuedCommand();

  le_scanning_manager->Scan(true);
  ASSERT_EQ(OpCode::LE_SET_EXTENDED_SCAN_PARAMETERS, test_hci_layer_->GetCommand().GetOpCode());
  test_hci_layer_->IncomingEvent(
      LeSetExtendedScanParametersCompleteBuilder::Create(uint8_t{1}, ErrorCode::SUCCESS));
  ASSERT_EQ(OpCode::LE_SET_EXTENDED_SCAN_ENABLE, test_hci_layer_->GetCommand().GetOpCode());
  test_hci_layer_->IncomingEvent(
      LeSetExtendedScanEnableCompleteBuilder::Create(uint8_t{1}, ErrorCode::SUCCESS));

  // Ensure there is no double enable commands on resume
  test_le_address_manager->client_->OnResume();
  sync_client_handler();
  test_hci_layer_->AssertNoQueuedCommand();
}

TEST_F(LeScanningManagerExtendedTest, ignore_on_pause_on_resume_after_unregistered) {
  TestLeAddressManager* test_le_address_manager = (TestLeAddressManager*)test_acl_manager_->GetLeAddressManager();
  test_le_address_manager->ignore_unregister_for_testing = true;