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

Commit cc5e4b0c authored by Jakub Pawłowski's avatar Jakub Pawłowski Committed by Automerger Merge Worker
Browse files

Merge "le_audio: Add dumpsys to config provider" am: 59f8247a am: 156d7645...

Merge "le_audio: Add dumpsys to config provider" am: 59f8247a am: 156d7645 am: 4e21a931 am: 96b1dd79

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



Change-Id: I7d4f7a72acab31b3f477d359d197192313760b71
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 0d78de9d 96b1dd79
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@
#include "embdrv/lc3/include/lc3.h"
#include "embdrv/lc3/include/lc3.h"
#include "gatt/bta_gattc_int.h"
#include "gatt/bta_gattc_int.h"
#include "gd/common/strings.h"
#include "gd/common/strings.h"
#include "le_audio_set_configuration_provider.h"
#include "le_audio_types.h"
#include "le_audio_types.h"
#include "osi/include/log.h"
#include "osi/include/log.h"
#include "osi/include/osi.h"
#include "osi/include/osi.h"
@@ -3628,6 +3629,7 @@ void LeAudioClient::DebugDump(int fd) {


  LeAudioClientAudioSource::DebugDump(fd);
  LeAudioClientAudioSource::DebugDump(fd);
  LeAudioClientAudioSink::DebugDump(fd);
  LeAudioClientAudioSink::DebugDump(fd);
  le_audio::AudioSetConfigurationProvider::Get()->DebugDump(fd);
  dprintf(fd, "\n");
  dprintf(fd, "\n");
}
}


+1 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ class AudioSetConfigurationProvider {
  virtual ~AudioSetConfigurationProvider() = default;
  virtual ~AudioSetConfigurationProvider() = default;
  static AudioSetConfigurationProvider* Get();
  static AudioSetConfigurationProvider* Get();
  static void Initialize();
  static void Initialize();
  static void DebugDump(int fd);
  static void Cleanup();
  static void Cleanup();
  virtual const set_configurations::AudioSetConfigurations* GetConfigurations(
  virtual const set_configurations::AudioSetConfigurations* GetConfigurations(
      ::le_audio::types::LeAudioContextType content_type) const;
      ::le_audio::types::LeAudioContextType content_type) const;
+45 −0
Original line number Original line Diff line number Diff line
@@ -461,6 +461,36 @@ struct AudioSetConfigurationProvider::impl {


  bool IsRunning() { return config_provider_impl_ ? true : false; }
  bool IsRunning() { return config_provider_impl_ ? true : false; }


  void Dump(int fd) {
    std::stringstream stream;

    for (LeAudioContextType context : types::kLeAudioContextAllTypesArray) {
      auto confs = Get()->GetConfigurations(context);
      stream << "  === Configurations for context type: " << (int)context
             << ", num: " << (confs == nullptr ? 0 : confs->size()) << " \n";
      if (confs->size() > 0) {
        for (const auto& conf : *confs) {
          stream << "  name: " << conf->name << " \n";
          for (const auto& ent : conf->confs) {
            stream << "    direction: "
                   << (ent.direction == types::kLeAudioDirectionSink
                           ? "Sink (speaker)\n"
                           : "Source (mic)\n")
                   << "     number of devices: " << +ent.device_cnt << " \n"
                   << "     number of ASEs: " << +ent.ase_cnt << " \n"
                   << "     target latency: " << +ent.target_latency << " \n"
                   << "     strategy: " << (int)(ent.strategy) << " \n"
                   << "     qos->retransmission_number: "
                   << +ent.qos.retransmission_number << " \n"
                   << "     qos->max_transport_latency: "
                   << +ent.qos.max_transport_latency << " \n";
          }
        }
      }
    }
    dprintf(fd, "%s", stream.str().c_str());
  }

  const AudioSetConfigurationProvider& config_provider_;
  const AudioSetConfigurationProvider& config_provider_;
  std::unique_ptr<AudioSetConfigurationProviderJson> config_provider_impl_;
  std::unique_ptr<AudioSetConfigurationProviderJson> config_provider_impl_;
};
};
@@ -478,6 +508,21 @@ void AudioSetConfigurationProvider::Initialize() {
    config_provider->pimpl_->Initialize();
    config_provider->pimpl_->Initialize();
}
}


void AudioSetConfigurationProvider::DebugDump(int fd) {
  if (!config_provider || !config_provider->pimpl_->IsRunning()) {
    dprintf(
        fd,
        "\n AudioSetConfigurationProvider not initialized: config provider: "
        "%d, pimpl: %d \n",
        config_provider != nullptr,
        (config_provider == nullptr ? 0
                                    : config_provider->pimpl_->IsRunning()));
    return;
  }
  dprintf(fd, "\n AudioSetConfigurationProvider: \n");
  config_provider->pimpl_->Dump(fd);
}

void AudioSetConfigurationProvider::Cleanup() {
void AudioSetConfigurationProvider::Cleanup() {
  if (!config_provider) return;
  if (!config_provider) return;
  if (config_provider->pimpl_->IsRunning()) config_provider->pimpl_->Cleanup();
  if (config_provider->pimpl_->IsRunning()) config_provider->pimpl_->Cleanup();