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

Commit cc3b5dba authored by Jack He's avatar Jack He Committed by Automerger Merge Worker
Browse files

Merge "btm_iso: Remove assert on CIS connected" am: b9c27ff3 am: 10511ac9

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1994730

Change-Id: I62e85bd133407697ba2a5ec739024b38791fedda
parents 297e3c47 10511ac9
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -419,8 +419,11 @@ struct iso_impl {
        << "No such iso connection handle: " << +iso_handle;

    if (!(iso->state_flags & kStateFlagIsBroadcast)) {
      LOG_ASSERT(iso->state_flags & kStateFlagIsConnected)
          << "CIS not established";
      if (!(iso->state_flags & kStateFlagIsConnected)) {
        LOG(WARNING) << __func__ << "Cis handle: " << loghex(iso_handle)
                     << " not established";
        return;
      }
    }
    LOG_ASSERT(iso->state_flags & kStateFlagHasDataPathSet)
        << "Data path not set for handle: " << +iso_handle;
+11 −11
Original line number Diff line number Diff line
@@ -1805,6 +1805,17 @@ TEST_F(IsoManagerTest, RemoveIsoDataPathInvalidStatus) {
      iso_handle, kDefaultIsoDataPathParams.data_path_dir);
}

TEST_F(IsoManagerTest, SendIsoDataWithNoCigConnected) {
  std::vector<uint8_t> data_vec(108, 0);
  IsoManager::GetInstance()->CreateCig(
      volatile_test_cig_create_cmpl_evt_.cig_id, kDefaultCigParams);

  auto handle = volatile_test_cig_create_cmpl_evt_.conn_handles[0];
  IsoManager::GetInstance()->SendIsoData(handle, data_vec.data(),
                                         data_vec.size());
  EXPECT_CALL(bte_interface_, HciSend).Times(0);
}

TEST_F(IsoManagerTest, SendIsoDataCigValid) {
  IsoManager::GetInstance()->CreateCig(
      volatile_test_cig_create_cmpl_evt_.cig_id, kDefaultCigParams);
@@ -2137,17 +2148,6 @@ TEST_F(IsoManagerDeathTest, SendIsoDataWithNoCigBigHandle) {
              ::testing::KilledBySignal(SIGABRT), "No such iso");
}

TEST_F(IsoManagerDeathTest, SendIsoDataWithNoCigConnected) {
  std::vector<uint8_t> data_vec(108, 0);
  IsoManager::GetInstance()->CreateCig(
      volatile_test_cig_create_cmpl_evt_.cig_id, kDefaultCigParams);

  auto handle = volatile_test_cig_create_cmpl_evt_.conn_handles[0];
  ASSERT_EXIT(IsoManager::GetInstance()->SendIsoData(handle, data_vec.data(),
                                                     data_vec.size()),
              ::testing::KilledBySignal(SIGABRT), "CIS not established");
}

TEST_F(IsoManagerTest, HandleDisconnectNoSuchHandle) {
  // Don't expect any callbacks when connection handle is not for ISO.
  EXPECT_CALL(*cig_callbacks_, OnCigEvent).Times(0);