Loading android/app/jni/com_android_bluetooth_le_audio.cpp +16 −1 Original line number Diff line number Diff line Loading @@ -369,7 +369,22 @@ static void setCodecConfigPreferenceNative(JNIEnv* env, jobject object, return; } // TODO Implement jint inputCodecType = env->CallIntMethod( inputCodecConfig, android_bluetooth_BluetoothLeAudioCodecConfig.getCodecType); btle_audio_codec_config_t input_codec_config = { .codec_type = static_cast<btle_audio_codec_index_t>(inputCodecType)}; jint outputCodecType = env->CallIntMethod( outputCodecConfig, android_bluetooth_BluetoothLeAudioCodecConfig.getCodecType); btle_audio_codec_config_t output_codec_config = { .codec_type = static_cast<btle_audio_codec_index_t>(outputCodecType)}; sLeAudioClientInterface->SetCodecConfigPreference( group_id, input_codec_config, output_codec_config); } static JNINativeMethod sMethods[] = { Loading system/bta/include/bta_le_audio_api.h +4 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,10 @@ class LeAudioClient { virtual void GroupStop(const int group_id) = 0; virtual void GroupDestroy(const int group_id) = 0; virtual void GroupSetActive(const int group_id) = 0; virtual void SetCodecConfigPreference( int group_id, bluetooth::le_audio::btle_audio_codec_config_t input_codec_config, bluetooth::le_audio::btle_audio_codec_config_t output_codec_config) = 0; virtual std::vector<RawAddress> GetGroupDevices(const int group_id) = 0; static void AddFromStorage(const RawAddress& addr, bool autoconnect); static bool IsLeAudioClientRunning(); Loading system/bta/le_audio/client.cc +8 −0 Original line number Diff line number Diff line Loading @@ -652,6 +652,14 @@ class LeAudioClientImpl : public LeAudioClient { } } void SetCodecConfigPreference( int group_id, bluetooth::le_audio::btle_audio_codec_config_t input_codec_config, bluetooth::le_audio::btle_audio_codec_config_t output_codec_config) override { // TODO Implement } void GroupSetActive(const int group_id) override { DLOG(INFO) << __func__ << " group_id: " << group_id; Loading system/bta/le_audio/client_linux.cc +5 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ class LeAudioClientImpl : public LeAudioClient { void GroupStop(const int group_id) override {} void GroupDestroy(const int group_id) override {} void GroupSetActive(const int group_id) override {} void SetCodecConfigPreference( int group_id, bluetooth::le_audio::btle_audio_codec_config_t input_codec_config, bluetooth::le_audio::btle_audio_codec_config_t output_codec_config) override {} std::vector<RawAddress> GetGroupDevices(const int group_id) override { return {}; } Loading system/btif/src/btif_le_audio.cc +14 −6 Original line number Diff line number Diff line Loading @@ -101,12 +101,10 @@ class LeAudioClientInterfaceImpl : public LeAudioClientInterface, DVLOG(2) << __func__; do_in_main_thread( FROM_HERE, Bind( &LeAudioClient::Cleanup, Bind(&LeAudioClient::Cleanup, jni_thread_wrapper( FROM_HERE, Bind( &LeAudioClient::CleanupAudioSetConfigurationProvider)))); Bind(&LeAudioClient::CleanupAudioSetConfigurationProvider)))); } void RemoveDevice(const RawAddress& address) override { Loading Loading @@ -157,6 +155,16 @@ class LeAudioClientInterfaceImpl : public LeAudioClientInterface, Unretained(LeAudioClient::Get()), group_id)); } void SetCodecConfigPreference(int group_id, btle_audio_codec_config_t input_codec_config, btle_audio_codec_config_t output_codec_config) { DVLOG(2) << __func__ << " group_id: " << group_id; do_in_main_thread(FROM_HERE, Bind(&LeAudioClient::SetCodecConfigPreference, Unretained(LeAudioClient::Get()), group_id, input_codec_config, output_codec_config)); } private: LeAudioClientCallbacks* callbacks; }; Loading Loading
android/app/jni/com_android_bluetooth_le_audio.cpp +16 −1 Original line number Diff line number Diff line Loading @@ -369,7 +369,22 @@ static void setCodecConfigPreferenceNative(JNIEnv* env, jobject object, return; } // TODO Implement jint inputCodecType = env->CallIntMethod( inputCodecConfig, android_bluetooth_BluetoothLeAudioCodecConfig.getCodecType); btle_audio_codec_config_t input_codec_config = { .codec_type = static_cast<btle_audio_codec_index_t>(inputCodecType)}; jint outputCodecType = env->CallIntMethod( outputCodecConfig, android_bluetooth_BluetoothLeAudioCodecConfig.getCodecType); btle_audio_codec_config_t output_codec_config = { .codec_type = static_cast<btle_audio_codec_index_t>(outputCodecType)}; sLeAudioClientInterface->SetCodecConfigPreference( group_id, input_codec_config, output_codec_config); } static JNINativeMethod sMethods[] = { Loading
system/bta/include/bta_le_audio_api.h +4 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,10 @@ class LeAudioClient { virtual void GroupStop(const int group_id) = 0; virtual void GroupDestroy(const int group_id) = 0; virtual void GroupSetActive(const int group_id) = 0; virtual void SetCodecConfigPreference( int group_id, bluetooth::le_audio::btle_audio_codec_config_t input_codec_config, bluetooth::le_audio::btle_audio_codec_config_t output_codec_config) = 0; virtual std::vector<RawAddress> GetGroupDevices(const int group_id) = 0; static void AddFromStorage(const RawAddress& addr, bool autoconnect); static bool IsLeAudioClientRunning(); Loading
system/bta/le_audio/client.cc +8 −0 Original line number Diff line number Diff line Loading @@ -652,6 +652,14 @@ class LeAudioClientImpl : public LeAudioClient { } } void SetCodecConfigPreference( int group_id, bluetooth::le_audio::btle_audio_codec_config_t input_codec_config, bluetooth::le_audio::btle_audio_codec_config_t output_codec_config) override { // TODO Implement } void GroupSetActive(const int group_id) override { DLOG(INFO) << __func__ << " group_id: " << group_id; Loading
system/bta/le_audio/client_linux.cc +5 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ class LeAudioClientImpl : public LeAudioClient { void GroupStop(const int group_id) override {} void GroupDestroy(const int group_id) override {} void GroupSetActive(const int group_id) override {} void SetCodecConfigPreference( int group_id, bluetooth::le_audio::btle_audio_codec_config_t input_codec_config, bluetooth::le_audio::btle_audio_codec_config_t output_codec_config) override {} std::vector<RawAddress> GetGroupDevices(const int group_id) override { return {}; } Loading
system/btif/src/btif_le_audio.cc +14 −6 Original line number Diff line number Diff line Loading @@ -101,12 +101,10 @@ class LeAudioClientInterfaceImpl : public LeAudioClientInterface, DVLOG(2) << __func__; do_in_main_thread( FROM_HERE, Bind( &LeAudioClient::Cleanup, Bind(&LeAudioClient::Cleanup, jni_thread_wrapper( FROM_HERE, Bind( &LeAudioClient::CleanupAudioSetConfigurationProvider)))); Bind(&LeAudioClient::CleanupAudioSetConfigurationProvider)))); } void RemoveDevice(const RawAddress& address) override { Loading Loading @@ -157,6 +155,16 @@ class LeAudioClientInterfaceImpl : public LeAudioClientInterface, Unretained(LeAudioClient::Get()), group_id)); } void SetCodecConfigPreference(int group_id, btle_audio_codec_config_t input_codec_config, btle_audio_codec_config_t output_codec_config) { DVLOG(2) << __func__ << " group_id: " << group_id; do_in_main_thread(FROM_HERE, Bind(&LeAudioClient::SetCodecConfigPreference, Unretained(LeAudioClient::Get()), group_id, input_codec_config, output_codec_config)); } private: LeAudioClientCallbacks* callbacks; }; Loading