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

Commit f8509770 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "leaudio: Initial implementation of set codec preference" am: 66c7d5b7

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2020097

Change-Id: I63019bcef7647207e19dc52db609646e2e95322a
parents 3fb9307c 66c7d5b7
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -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[] = {
+4 −0
Original line number Diff line number Diff line
@@ -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();
+8 −0
Original line number Diff line number Diff line
@@ -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;

+5 −0
Original line number Diff line number Diff line
@@ -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 {};
  }
+14 −6
Original line number Diff line number Diff line
@@ -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 {
@@ -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