le_broadcast: Use HAL verifier

Bug: 150670922
Tag: #feature
Test: atest bluetooth_test_broadcaster bluetooth_test_broadcaster_sm bluetooth_le_audio_test
Sponsor: jpawlowski@
Change-Id: Ibffd5e7770c3f26b65630112a99eb8f76a4f2870
diff --git a/system/bta/include/bta_le_audio_api.h b/system/bta/include/bta_le_audio_api.h
index 67c32f2..832910b 100644
--- a/system/bta/include/bta_le_audio_api.h
+++ b/system/bta/include/bta_le_audio_api.h
@@ -28,6 +28,7 @@
  public:
   static bool SupportsLeAudio();
   static bool SupportsLeAudioHardwareOffload();
+  static bool SupportsLeAudioBroadcast();
 };
 
 /* Interface class */
diff --git a/system/bta/le_audio/hal_verifier.cc b/system/bta/le_audio/hal_verifier.cc
index 5eb6b80..1e4287e 100644
--- a/system/bta/le_audio/hal_verifier.cc
+++ b/system/bta/le_audio/hal_verifier.cc
@@ -26,3 +26,8 @@
   return bluetooth::audio::HalVersionManager::GetHalVersion() >
          bluetooth::audio::BluetoothAudioHalVersion::VERSION_2_1;
 }
+
+bool LeAudioHalVerifier::SupportsLeAudioBroadcast() {
+  return bluetooth::audio::HalVersionManager::GetHalTransport() ==
+         bluetooth::audio::BluetoothAudioHalTransport::AIDL;
+}
diff --git a/system/bta/le_audio/hal_verifier_linux.cc b/system/bta/le_audio/hal_verifier_linux.cc
index 2da71ef..3318291 100644
--- a/system/bta/le_audio/hal_verifier_linux.cc
+++ b/system/bta/le_audio/hal_verifier_linux.cc
@@ -18,3 +18,4 @@
 
 bool LeAudioHalVerifier::SupportsLeAudio() { return false; }
 bool LeAudioHalVerifier::SupportsLeAudioHardwareOffload() { return false; }
+bool LeAudioHalVerifier::SupportsLeAudioBroadcast() { return false; }
diff --git a/system/btif/src/btif_le_audio_broadcaster.cc b/system/btif/src/btif_le_audio_broadcaster.cc
index be55da6..57d14f9 100644
--- a/system/btif/src/btif_le_audio_broadcaster.cc
+++ b/system/btif/src/btif_le_audio_broadcaster.cc
@@ -21,6 +21,7 @@
 #include <hardware/bt_le_audio.h>
 
 #include "audio_hal_interface/hal_version_manager.h"
+#include "bta_le_audio_api.h"
 #include "bta_le_audio_broadcaster_api.h"
 #include "btif_common.h"
 #include "stack/include/btu.h"
@@ -46,8 +47,7 @@
     do_in_main_thread(
         FROM_HERE,
         Bind(&LeAudioBroadcaster::Initialize, this, base::Bind([]() -> bool {
-          return bluetooth::audio::HalVersionManager::GetHalVersion() ==
-                 bluetooth::audio::BluetoothAudioHalVersion::VERSION_2_1;
+          return LeAudioHalVerifier::SupportsLeAudioBroadcast();
         })));
   }
 
diff --git a/system/test/mock/mock_le_audio_hal_verifier.cc b/system/test/mock/mock_le_audio_hal_verifier.cc
index 9c378ed..8d72923 100644
--- a/system/test/mock/mock_le_audio_hal_verifier.cc
+++ b/system/test/mock/mock_le_audio_hal_verifier.cc
@@ -29,3 +29,8 @@
   mock_function_count_map[__func__]++;
   return true;
 }
+
+bool LeAudioHalVerifier::SupportsLeAudioBroadcast() {
+  mock_function_count_map[__func__]++;
+  return true;
+}