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

Commit 66841095 authored by Martin Brabham's avatar Martin Brabham Committed by Automerger Merge Worker
Browse files

Merge "Also remove entry during delete in addition to clear" into sc-dev am: 77f7385b

Original change: https://googleplex-android-review.googlesource.com/c/platform/system/bt/+/15413946

Change-Id: I16607b7557614c27627942707f2d15072fb7e000
parents 70c3d2e8 77f7385b
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -854,6 +854,25 @@ void BTM_BleAdvFilterParamSetup(
        FROM_HERE, HCI_BLE_ADV_FILTER, param,
        (uint8_t)(BTM_BLE_ADV_FILT_META_HDR_LENGTH),
        base::Bind(&btm_flt_update_cb, BTM_BLE_META_PF_FEAT_SEL, cb));

    auto entry = remove_me_later_map.find(filt_index);
    if (entry != remove_me_later_map.end()) {
      LOG_WARN("Replacing existing filter index entry with new address");
      // If device is not bonded, then try removing the device
      // If the device doesn't get removed then it is currently connected
      // (may be pairing?) If we do delete the device we want to erase the
      // filter index so we can replace it If the device is bonded, we
      // want to erase the filter index so we don't delete it in the later
      // BTM_LE_PF_clear call.
      if (!btm_sec_is_a_bonded_dev(entry->second)) {
        if (!BTM_SecDeleteDevice(entry->second)) {
          LOG_WARN("Unable to remove device, still connected.");
          return;
        }
      }
      remove_me_later_map.erase(filt_index);
    }

  } else if (BTM_BLE_SCAN_COND_CLEAR == action) {
    /* Deallocate all filters here */
    btm_ble_dealloc_addr_filter_counter(NULL, BTM_BLE_PF_TYPE_ALL);