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

Skip to content
Commits on Source (3)
stages:
- auto-merge-main
- update-from-upstream
include:
- project: 'e/templates'
ref: master
file: '/gitlab-ci/.gitlab-ci-auto-merge-main.yml'
- project: 'e/templates'
ref: master
file: '/gitlab-ci/.gitlab-ci-import-updates-from-upstream.yml'
...@@ -56,7 +56,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface( ...@@ -56,7 +56,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface(
bool BluetoothAudioClientInterface::is_aidl_available() { bool BluetoothAudioClientInterface::is_aidl_available() {
return AServiceManager_isDeclared( return AServiceManager_isDeclared(
kDefaultAudioProviderFactoryInterface.c_str()); audioProviderFactoryInterface().c_str());
} }
std::vector<AudioCapabilities> std::vector<AudioCapabilities>
...@@ -72,7 +72,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) { ...@@ -72,7 +72,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) {
} }
auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( auto provider_factory = IBluetoothAudioProviderFactory::fromBinder(
::ndk::SpAIBinder(AServiceManager_waitForService( ::ndk::SpAIBinder(AServiceManager_waitForService(
kDefaultAudioProviderFactoryInterface.c_str()))); audioProviderFactoryInterface().c_str())));
if (provider_factory == nullptr) { if (provider_factory == nullptr) {
LOG(ERROR) << __func__ << ", can't get capability from unknown factory"; LOG(ERROR) << __func__ << ", can't get capability from unknown factory";
...@@ -99,7 +99,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() { ...@@ -99,7 +99,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() {
} }
auto provider_factory = IBluetoothAudioProviderFactory::fromBinder( auto provider_factory = IBluetoothAudioProviderFactory::fromBinder(
::ndk::SpAIBinder(AServiceManager_waitForService( ::ndk::SpAIBinder(AServiceManager_waitForService(
kDefaultAudioProviderFactoryInterface.c_str()))); audioProviderFactoryInterface().c_str())));
if (provider_factory == nullptr) { if (provider_factory == nullptr) {
LOG(ERROR) << __func__ << ", can't get capability from unknown factory"; LOG(ERROR) << __func__ << ", can't get capability from unknown factory";
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "bluetooth_audio_port_impl.h" #include "bluetooth_audio_port_impl.h"
#include "common/message_loop_thread.h" #include "common/message_loop_thread.h"
#include "transport_instance.h" #include "transport_instance.h"
#include "osi/include/properties.h"
#define BLUETOOTH_AUDIO_HAL_PROP_DISABLED \ #define BLUETOOTH_AUDIO_HAL_PROP_DISABLED \
"persist.bluetooth.bluetooth_audio_hal.disabled" "persist.bluetooth.bluetooth_audio_hal.disabled"
...@@ -117,6 +118,12 @@ class BluetoothAudioClientInterface { ...@@ -117,6 +118,12 @@ class BluetoothAudioClientInterface {
// "android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default"; // "android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default";
static inline const std::string kDefaultAudioProviderFactoryInterface = static inline const std::string kDefaultAudioProviderFactoryInterface =
std::string() + IBluetoothAudioProviderFactory::descriptor + "/default"; std::string() + IBluetoothAudioProviderFactory::descriptor + "/default";
static inline const std::string kSystemAudioProviderFactoryInterface =
std::string() + IBluetoothAudioProviderFactory::descriptor + "/sysbta";
static inline const std::string audioProviderFactoryInterface() {
return osi_property_get_bool("persist.bluetooth.system_audio_hal.enabled", false)
? kSystemAudioProviderFactoryInterface : kDefaultAudioProviderFactoryInterface;
}
private: private:
IBluetoothTransportInstance* transport_; IBluetoothTransportInstance* transport_;
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <memory> #include <memory>
#include "aidl/audio_aidl_interfaces.h" #include "aidl/audio_aidl_interfaces.h"
#include "osi/include/properties.h"
namespace bluetooth { namespace bluetooth {
namespace audio { namespace audio {
...@@ -33,6 +34,12 @@ using ::aidl::android::hardware::bluetooth::audio:: ...@@ -33,6 +34,12 @@ using ::aidl::android::hardware::bluetooth::audio::
static const std::string kDefaultAudioProviderFactoryInterface = static const std::string kDefaultAudioProviderFactoryInterface =
std::string() + IBluetoothAudioProviderFactory::descriptor + "/default"; std::string() + IBluetoothAudioProviderFactory::descriptor + "/default";
static const std::string kSystemAudioProviderFactoryInterface =
std::string() + IBluetoothAudioProviderFactory::descriptor + "/sysbta";
static inline const std::string audioProviderFactoryInterface() {
return osi_property_get_bool("persist.bluetooth.system_audio_hal.enabled", false)
? kSystemAudioProviderFactoryInterface : kDefaultAudioProviderFactoryInterface;
}
std::unique_ptr<HalVersionManager> HalVersionManager::instance_ptr = std::unique_ptr<HalVersionManager> HalVersionManager::instance_ptr =
std::make_unique<HalVersionManager>(); std::make_unique<HalVersionManager>();
...@@ -92,7 +99,7 @@ HalVersionManager::GetProvidersFactory_2_0() { ...@@ -92,7 +99,7 @@ HalVersionManager::GetProvidersFactory_2_0() {
HalVersionManager::HalVersionManager() { HalVersionManager::HalVersionManager() {
if (AServiceManager_checkService( if (AServiceManager_checkService(
kDefaultAudioProviderFactoryInterface.c_str()) != nullptr) { audioProviderFactoryInterface().c_str()) != nullptr) {
hal_version_ = BluetoothAudioHalVersion::VERSION_AIDL_V1; hal_version_ = BluetoothAudioHalVersion::VERSION_AIDL_V1;
return; return;
} }
......