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

Commit 0c95d9c6 authored by William Escande's avatar William Escande Committed by Gerrit Code Review
Browse files

Merge changes I97f70674,I6e794987

* changes:
  Dynamic HF version change based on remote hf version
  Bt Add mock related to device interop
parents 27335707 fa2bc722
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -29,9 +29,11 @@

#include "bt_target.h"  // Legacy stack config
#include "bt_trace.h"   // Legacy trace logging

#include "bta/ag/bta_ag_int.h"
#include "btif/include/btif_config.h"
#include "common/init_flags.h"
#include "device/include/interop.h"
#include "device/include/interop_config.h"
#include "osi/include/allocator.h"
#include "stack/include/btm_api.h"
#include "stack/include/btu.h"  // do_in_main_thread
@@ -161,7 +163,11 @@ bool bta_ag_add_record(uint16_t service_uuid, const char* p_service_name,
  /* add profile descriptor list */
  if (service_uuid == UUID_SERVCLASS_AG_HANDSFREE) {
    profile_uuid = UUID_SERVCLASS_HF_HANDSFREE;
    if (bluetooth::common::init_flags::hfp_dynamic_version_is_enabled()) {
      version = HFP_VERSION_1_6;
    } else {
      version = BTA_HFP_VERSION;
    }
  } else {
    profile_uuid = UUID_SERVCLASS_HEADSET;
    version = HSP_VERSION_1_2;
@@ -388,6 +394,13 @@ bool bta_ag_sdp_find_attr(tBTA_AG_SCB* p_scb, tBTA_SERVICE_MASK service) {
        if (p_scb->peer_features == 0) {
          p_scb->peer_features = sdp_features & HFP_SDP_BRSF_FEATURES_MASK;
        }
        /* Remote supports 1.7, store it in HFP 1.7 BL file */
        if (bluetooth::common::init_flags::hfp_dynamic_version_is_enabled()) {
          if (p_scb->peer_version == HFP_VERSION_1_7) {
            interop_database_add_addr(INTEROP_HFP_1_7_ALLOWLIST,
                                      &p_scb->peer_addr, 3);
          }
        }
      }
    } else {
      /* No peer version caching for HSP, use discovered one directly */
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <hardware/bluetooth.h>
#include <stdbool.h>

#include "include/hardware/bluetooth.h"
#include "osi/include/list.h"
#include "raw_address.h"

@@ -320,6 +321,7 @@ typedef enum {
  // during connection.
  INTEROP_DISABLE_ROLE_SWITCH_DURING_CONNECTION,

  INTEROP_HFP_1_7_ALLOWLIST,
  END_OF_INTEROP_LIST
} interop_feature_t;

+2 −1
Original line number Diff line number Diff line
@@ -378,7 +378,8 @@ static const char* interop_feature_string_(const interop_feature_t feature) {
    CASE_RETURN_STR(INTEROP_DISABLE_SNIFF)
    CASE_RETURN_STR(INTEROP_DISABLE_AVDTP_SUSPEND)
    CASE_RETURN_STR(INTEROP_SLC_SKIP_BIND_COMMAND)
    CASE_RETURN_STR(INTEROP_AVRCP_1_3_ONLY);
    CASE_RETURN_STR(INTEROP_AVRCP_1_3_ONLY)
    CASE_RETURN_STR(INTEROP_HFP_1_7_ALLOWLIST);
  }
  return UNKNOWN_INTEROP_FEATURE;
}
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ table InitFlagsData {
    gd_rust_is_enabled:bool (privacy:"Any");
    gd_security_is_enabled:bool (privacy:"Any");
    get_hci_adapter:int (privacy:"Any");
    hfp_dynamic_version_is_enabled:bool (privacy:"Any");
    irk_rotation_is_enabled:bool (privacy:"Any");
    // is_debug_logging_enabled_for_tag -- skipped in dumpsys
    leaudio_targeted_announcement_reconnection_mode_is_enabled: bool (privacy:"Any");
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ flatbuffers::Offset<bluetooth::common::InitFlagsData> bluetooth::dumpsys::InitFl
  builder.add_gd_rust_is_enabled(initFlags::gd_rust_is_enabled());
  builder.add_gd_security_is_enabled(initFlags::gd_security_is_enabled());
  builder.add_get_hci_adapter(initFlags::get_hci_adapter());
  builder.add_hfp_dynamic_version_is_enabled(initFlags::hfp_dynamic_version_is_enabled());
  builder.add_irk_rotation_is_enabled(initFlags::irk_rotation_is_enabled());
  // is_debug_logging_enabled_for_tag -- skipped in dumpsys
  builder.add_leaudio_targeted_announcement_reconnection_mode_is_enabled(
Loading