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

Commit 655bfd1f authored by Chris Manton's avatar Chris Manton
Browse files

sdp: If known skip read remote name request

Bug: 260598196
Bug: 254358644
Test: gd/cert/run
Tag: #refactor
BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines
Ignore-AOSP-First: Cherry-pick

Merged-In: I5ada864263503e809a6832a4f5bf8cdf100e090d
Change-Id: I5ada864263503e809a6832a4f5bf8cdf100e090d
parent 33af51c4
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1715,6 +1715,14 @@ static void bta_dm_discover_device(const RawAddress& remote_bd_addr) {
    /* Do not perform RNR for LE devices at inquiry complete*/
    bta_dm_search_cb.name_discover_done = true;
  }
  // If we already have the name we can skip getting the name
  if (BTM_IsRemoteNameKnown(remote_bd_addr, transport) &&
      bluetooth::common::init_flags::sdp_skip_rnr_if_known_is_enabled()) {
    LOG_DEBUG("Security record already known skipping read remote name peer:%s",
              PRIVATE_ADDRESS(remote_bd_addr));
    bta_dm_search_cb.name_discover_done = true;
  }

  /* if name discovery is not done and application needs remote name */
  if ((!bta_dm_search_cb.name_discover_done) &&
      ((bta_dm_search_cb.p_btm_inq_info == NULL) ||
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ table InitFlagsData {
    gd_core_enabled:bool (privacy:"Any");
    btaa_hci_log_enabled:bool (privacy:"Any");
    btm_dm_flush_discovery_queue_on_search_cancel:bool (privacy:"Any");
    sdp_skip_rnr_if_known_is_enabled:bool (privacy:"Any");
}

root_type InitFlagsData;
+2 −0
Original line number Diff line number Diff line
@@ -31,5 +31,7 @@ flatbuffers::Offset<bluetooth::common::InitFlagsData> bluetooth::dumpsys::InitFl
  builder.add_gd_controller_enabled(true);
  builder.add_gd_core_enabled(bluetooth::common::init_flags::gd_core_is_enabled());
  builder.add_btaa_hci_log_enabled(bluetooth::common::init_flags::btaa_hci_is_enabled());
  builder.add_sdp_skip_rnr_if_known_is_enabled(bluetooth::common::init_flags::sdp_skip_rnr_if_known_is_enabled());

  return builder.Finish();
}
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ init_flags!(
        gd_rust,
        gd_link_policy,
        irk_rotation,
        sdp_skip_rnr_if_known,
        pass_phy_update_callback
    },
    dependencies: {
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ mod ffi {
        fn gd_link_policy_is_enabled() -> bool;
        fn irk_rotation_is_enabled() -> bool;
        fn pass_phy_update_callback_is_enabled() -> bool;
        fn sdp_skip_rnr_if_known_is_enabled() -> bool;
    }
}