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

Commit 3be2a3bd authored by Hansong Zhang's avatar Hansong Zhang Committed by Automerger Merge Worker
Browse files

Refactor btm_sec_set_peer_sec_caps am: 8abe49a2

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

Change-Id: I5234d465c3b62deff5195ab8a60925c9fd16a49f
parents 87fd329d 8abe49a2
Loading
Loading
Loading
Loading
+13 −9
Original line number Diff line number Diff line
@@ -122,8 +122,9 @@ static void btm_read_rssi_timeout(void* data);
static void btm_read_tx_power_timeout(void* data);
static void btm_process_remote_ext_features(tACL_CONN* p_acl_cb,
                                            uint8_t num_read_pages);
static void btm_sec_set_peer_sec_caps(bool ssp_supported, bool sc_supported,
                                      tBTM_SEC_DEV_REC* p_dev_rec);
static void btm_sec_set_peer_sec_caps(tBTM_SEC_DEV_REC* p_dev_rec,
                                      bool ssp_supported, bool sc_supported,
                                      bool hci_role_switch_supported);
static bool acl_is_role_central(const RawAddress& bda, tBT_TRANSPORT transport);
static void btm_set_link_policy(tACL_CONN* conn, uint16_t policy);
static bool btm_ble_get_acl_remote_addr(const tBTM_SEC_DEV_REC& p_dev_rec,
@@ -838,9 +839,6 @@ void btm_process_remote_ext_features(tACL_CONN* p_acl_cb,
    return;
  }

  p_dev_rec->remote_supports_hci_role_switch =
      HCI_SWITCH_SUPPORTED(p_acl_cb->peer_lmp_feature_pages[0]);

  if (!(p_dev_rec->sec_flags & BTM_SEC_NAME_KNOWN) ||
      p_dev_rec->is_originator) {
    uint8_t status = btm_sec_execute_procedure(p_dev_rec);
@@ -857,8 +855,11 @@ void btm_process_remote_ext_features(tACL_CONN* p_acl_cb,
      HCI_SSP_HOST_SUPPORTED(p_acl_cb->peer_lmp_feature_pages[1]);
  bool secure_connections_supported =
      HCI_SC_HOST_SUPPORTED(p_acl_cb->peer_lmp_feature_pages[1]);
  btm_sec_set_peer_sec_caps(ssp_supported, secure_connections_supported,
                            p_dev_rec);
  bool role_switch_supported =
      HCI_SWITCH_SUPPORTED(p_acl_cb->peer_lmp_feature_pages[0]);
  btm_sec_set_peer_sec_caps(p_dev_rec, ssp_supported,
                            secure_connections_supported,
                            role_switch_supported);

  if (req_pend) {
    /* Request for remaining Security Features (if any) */
@@ -2543,9 +2544,12 @@ void btm_ble_refresh_local_resolvable_private_addr(
 * Returns          void
 *
 ******************************************************************************/
void btm_sec_set_peer_sec_caps(bool ssp_supported, bool sc_supported,
                               tBTM_SEC_DEV_REC* p_dev_rec) {
void btm_sec_set_peer_sec_caps(tBTM_SEC_DEV_REC* p_dev_rec, bool ssp_supported,
                               bool sc_supported,
                               bool hci_role_switch_supported) {
  p_dev_rec->remote_feature_received = true;
  p_dev_rec->remote_supports_hci_role_switch = hci_role_switch_supported;

  if ((btm_cb.security_mode == BTM_SEC_MODE_SP ||
       btm_cb.security_mode == BTM_SEC_MODE_SC) &&
      ssp_supported) {