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

Commit ad82aa64 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Check whether to do or stop timer in bta_dm_disable_pm" into main am:...

Merge "Check whether to do or stop timer in bta_dm_disable_pm" into main am: 48e1837e am: 51086659

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



Change-Id: I47c52a59c2200d7ecff5e65bfcfed28944dcb048
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 6cc7d941 51086659
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -321,7 +321,15 @@ void bta_dm_disable() {
    log::warn("Unable to disable classic BR/EDR connectability");
  }

  /* if sniff is offload, no need to handle it in the stack */
  if (com::android::bluetooth::flags::enable_sniff_offload() &&
      osi_property_get_bool(kPropertySniffOffloadEnabled, false)) {
    log::info("Sniff offloading. Skip bta_dm_disable_pm.");
  } else {
    /* Disable bluetooth low power manager */
    bta_dm_disable_pm();
  }

  if (com::android::bluetooth::flags::separate_service_and_device_discovery()) {
    bta_dm_disc_disable_search();
    bta_dm_disc_disable_disc();
+3 −1
Original line number Diff line number Diff line
@@ -137,7 +137,9 @@ void bta_dm_disable_pm(void) {
  /* Need to stop all active timers. */
  for (int i = 0; i < BTA_DM_NUM_PM_TIMER; i++) {
    for (int j = 0; j < BTA_DM_PM_MODE_TIMER_MAX; j++) {
      if (bta_dm_cb.pm_timer[i].in_use) {
        bta_dm_pm_stop_timer_by_index(&bta_dm_cb.pm_timer[i], j);
      }
      bta_dm_cb.pm_timer[i].pm_action[j] = BTA_DM_PM_NO_ACTION;
    }
  }
+6 −0
Original line number Diff line number Diff line
@@ -478,6 +478,12 @@ TEST_F_WITH_FLAGS(BtaDmCustomAlarmTest, sniff_offload_feature__enable_flag,
  is_property_enabled = false;
  bluetooth::legacy::testing::BTA_dm_on_hw_on();
  ASSERT_EQ((uint8_t)BTA_ID_MAX, bta_dm_cb.pm_timer[0].srvc_id[0]);

  // Shouldn't crash even there's no active timer when calling
  // bta_dm_disable_pm.
  bta_dm_cb.pm_timer[0].in_use = false;
  bta_dm_cb.pm_timer[0].srvc_id[0] = kUnusedTimer;
  bta_dm_disable_pm();
}

TEST_F_WITH_FLAGS(BtaDmCustomAlarmTest, sniff_offload_feature__disable_flag,