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

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

Merge "Fix wrong address type of DUAL mode device" am: 4e1450ec

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

Change-Id: I5c307a71af65af8c406ff633f71949c00194c561
parents d9b39163 4e1450ec
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -485,16 +485,21 @@ void BTM_ReadDevInfo(const RawAddress& remote_bda, tBT_DEVICE_TYPE* p_dev_type,
      p_dev_rec->device_type = p_inq_info->results.device_type;
      p_dev_rec->ble.ble_addr_type = p_inq_info->results.ble_addr_type;
    }
    if (p_dev_rec->bd_addr == remote_bda && p_dev_rec->device_type != 0) {

    if (p_dev_rec->bd_addr == remote_bda &&
        p_dev_rec->ble.pseudo_addr == remote_bda) {
      *p_dev_type = p_dev_rec->device_type;
      *p_addr_type = p_dev_rec->ble.ble_addr_type;
    } else if (p_dev_rec->ble.pseudo_addr == remote_bda) {
      *p_dev_type = BT_DEVICE_TYPE_BLE;
      *p_addr_type = p_dev_rec->ble.ble_addr_type;
    } else /* matching static adddress only */
    {
      LOG(ERROR) << __func__ << " device_type not set; assuming BR/EDR";
    } else /* matching static adddress only */ {
      if (p_dev_rec->device_type != BT_DEVICE_TYPE_UNKNOWN) {
        *p_dev_type = p_dev_rec->device_type;
      } else {
        LOG_WARN("device_type not set; assuming BR/EDR");
        *p_dev_type = BT_DEVICE_TYPE_BREDR;
      }
      *p_addr_type = BLE_ADDR_PUBLIC;
    }
  }