From f93fece935f9fe40de1a2558de84eed2443fd7a8 Mon Sep 17 00:00:00 2001
From: Chris Manton <cmanton@google.com>
Date: Thu, 8 Apr 2021 16:16:53 -0700
Subject: [PATCH] Add layer of indirection to set hal_callbacks

Used for test injection

Bug: 163134718
Test: gd/cert/run
Tag: #refactor
BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines

Change-Id: I1cfd4103bfe6b20aabff2885e5ace106e11b04e8
---
 system/btif/src/bluetooth.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/system/btif/src/bluetooth.cc b/system/btif/src/bluetooth.cc
index fc6ea3f48fc..eeb541d1811 100644
--- a/system/btif/src/bluetooth.cc
+++ b/system/btif/src/bluetooth.cc
@@ -137,6 +137,7 @@ extern VolumeControlInterface* btif_volume_control_get_interface();
  ******************************************************************************/
 
 static bool interface_ready(void) { return bt_hal_cbacks != NULL; }
+void set_hal_cbacks(bt_callbacks_t* callbacks) { bt_hal_cbacks = callbacks; }
 
 static bool is_profile(const char* p1, const char* p2) {
   CHECK(p1);
@@ -167,7 +168,8 @@ static int init(bt_callbacks_t* callbacks, bool start_restricted,
   allocation_tracker_init();
 #endif
 
-  bt_hal_cbacks = callbacks;
+  set_hal_cbacks(callbacks);
+
   restricted_mode = start_restricted;
   common_criteria_mode = is_common_criteria_mode;
   common_criteria_config_compare_result = config_compare_result;
-- 
GitLab