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

Commit baadeb45 authored by Hsin-chen Chuang's avatar Hsin-chen Chuang Committed by Gerrit Code Review
Browse files

Merge "floss: topshim: Deduplicate RawAddress definitions."

parents 7b1aabbe 01ee47e1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1769,7 +1769,7 @@ impl BtifGattClientCallbacks for BluetoothGatt {
            self.context_map.get_callback_from_callback_id(cbid).and_then(
                |cb: &mut GattClientCallback| {
                    cb.on_notify(
                        RawAddress { val: data.bda.address }.to_string(),
                        data.bda.to_string(),
                        data.handle as i32,
                        data.value[0..data.len as usize].to_vec(),
                    );
+0 −1
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ cc_library_static {
        "gatt/gatt_ble_advertiser_shim.cc",
        "hfp/hfp_shim.cc",
        "controller/controller_shim.cc",
        "common/utils.cc",
    ],
    generated_headers: [
        "libbt_init_flags_bridge_header",
+0 −1
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ source_set("btif_cxx_bridge_code") {
    "btav/btav_shim.cc",
    "btav_sink/btav_sink_shim.cc",
    "btif/btif_shim.cc",
    "common/utils.cc",
    "controller/controller_shim.cc",
    "gatt/gatt_ble_advertiser_shim.cc",
    "gatt/gatt_ble_scanner_shim.cc",
+15 −31
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@
#include <memory>

#include "base/callback.h"
#include "gd/rust/topshim/common/utils.h"
#include "include/hardware/avrcp/avrcp.h"
#include "include/hardware/bluetooth.h"
#include "rust/cxx.h"
@@ -70,8 +69,7 @@ class AvrcpMediaInterfaceImpl : public MediaInterface {
      [[maybe_unused]] bool now_playing,
      [[maybe_unused]] std::string media_id) override {}

  void SetActiveDevice(const RawAddress& address) override {
    topshim::rust::RustRawAddress addr = rusty::CopyToRustAddress(address);
  void SetActiveDevice(const RawAddress& addr) override {
    rusty::avrcp_set_active_device(addr);
  }

@@ -111,19 +109,16 @@ class AvrcpMediaInterfaceImpl : public MediaInterface {

class VolumeInterfaceImpl : public VolumeInterface {
 public:
  void DeviceConnected(const RawAddress& bdaddr) override {
    topshim::rust::RustRawAddress addr = rusty::CopyToRustAddress(bdaddr);
  void DeviceConnected(const RawAddress& addr) override {
    rusty::avrcp_device_connected(addr, /*absolute_volume_enabled=*/false);
  }

  void DeviceConnected(const RawAddress& bdaddr, VolumeChangedCb cb) override {
    topshim::rust::RustRawAddress addr = rusty::CopyToRustAddress(bdaddr);
  void DeviceConnected(const RawAddress& addr, VolumeChangedCb cb) override {
    volumeCb = std::move(cb);
    rusty::avrcp_device_connected(addr, /*absolute_volume_enabled=*/true);
  }

  void DeviceDisconnected(const RawAddress& bdaddr) override {
    topshim::rust::RustRawAddress addr = rusty::CopyToRustAddress(bdaddr);
  void DeviceDisconnected(const RawAddress& addr) override {
    volumeCb.Reset();
    rusty::avrcp_device_disconnected(addr);
  }
@@ -202,28 +197,24 @@ static A2dpError to_rust_error(const btav_error_t& error) {
  return a2dp_error;
}

static void connection_state_cb(const RawAddress& bd_addr, btav_connection_state_t state, const btav_error_t& error) {
  RustRawAddress addr = rusty::CopyToRustAddress(bd_addr);
static void connection_state_cb(const RawAddress& addr, btav_connection_state_t state, const btav_error_t& error) {
  A2dpError a2dp_error = to_rust_error(error);
  rusty::connection_state_callback(addr, state, a2dp_error);
}
static void audio_state_cb(const RawAddress& bd_addr, btav_audio_state_t state) {
  RustRawAddress addr = rusty::CopyToRustAddress(bd_addr);
static void audio_state_cb(const RawAddress& addr, btav_audio_state_t state) {
  rusty::audio_state_callback(addr, state);
}
static void audio_config_cb(
    const RawAddress& bd_addr,
    const RawAddress& addr,
    btav_a2dp_codec_config_t codec_config,
    std::vector<btav_a2dp_codec_config_t> codecs_local_capabilities,
    std::vector<btav_a2dp_codec_config_t> codecs_selectable_capabilities) {
  RustRawAddress addr = rusty::CopyToRustAddress(bd_addr);
  A2dpCodecConfig cfg = to_rust_codec_config(codec_config);
  ::rust::Vec<A2dpCodecConfig> lcaps = to_rust_codec_config_vec(codecs_local_capabilities);
  ::rust::Vec<A2dpCodecConfig> scaps = to_rust_codec_config_vec(codecs_selectable_capabilities);
  rusty::audio_config_callback(addr, cfg, lcaps, scaps);
}
static bool mandatory_codec_preferred_cb(const RawAddress& bd_addr) {
  RustRawAddress addr = rusty::CopyToRustAddress(bd_addr);
static bool mandatory_codec_preferred_cb(const RawAddress& addr) {
  rusty::mandatory_codec_preferred_callback(addr);
  return true;
}
@@ -258,24 +249,19 @@ int A2dpIntf::init() const {
  return intf_->init(&internal::g_callbacks, 1, a, b);
}

uint32_t A2dpIntf::connect(RustRawAddress bt_addr) const {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
uint32_t A2dpIntf::connect(RawAddress addr) const {
  return intf_->connect(addr);
}
uint32_t A2dpIntf::disconnect(RustRawAddress bt_addr) const {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
uint32_t A2dpIntf::disconnect(RawAddress addr) const {
  return intf_->disconnect(addr);
}
int A2dpIntf::set_silence_device(RustRawAddress bt_addr, bool silent) const {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
int A2dpIntf::set_silence_device(RawAddress addr, bool silent) const {
  return intf_->set_silence_device(addr, silent);
}
int A2dpIntf::set_active_device(RustRawAddress bt_addr) const {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
int A2dpIntf::set_active_device(RawAddress addr) const {
  return intf_->set_active_device(addr);
}
int A2dpIntf::config_codec(RustRawAddress bt_addr, ::rust::Vec<A2dpCodecConfig> codec_preferences) const {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
int A2dpIntf::config_codec(RawAddress addr, ::rust::Vec<A2dpCodecConfig> codec_preferences) const {
  std::vector<btav_a2dp_codec_config_t> prefs;
  for (size_t i = 0; i < codec_preferences.size(); ++i) {
    prefs.push_back(internal::from_rust_codec_config(codec_preferences[i]));
@@ -336,12 +322,10 @@ void AvrcpIntf::cleanup() {
  intf_->Cleanup();
}

uint32_t AvrcpIntf::connect(RustRawAddress bt_addr) {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
uint32_t AvrcpIntf::connect(RawAddress addr) {
  return intf_->ConnectDevice(addr);
}
uint32_t AvrcpIntf::disconnect(RustRawAddress bt_addr) {
  RawAddress addr = rusty::CopyFromRustAddress(bt_addr);
uint32_t AvrcpIntf::disconnect(RawAddress addr) {
  return intf_->DisconnectDevice(addr);
}

+7 −8
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ namespace rust {

struct A2dpCodecConfig;
struct RustPresentationPosition;
struct RustRawAddress;
struct RustPlayStatus;

class A2dpIntf {
@@ -40,11 +39,11 @@ class A2dpIntf {

  // interface for Settings
  int init() const;
  uint32_t connect(RustRawAddress bt_addr) const;
  uint32_t disconnect(RustRawAddress bt_addr) const;
  int set_silence_device(RustRawAddress bt_addr, bool silent) const;
  int set_active_device(RustRawAddress bt_addr) const;
  int config_codec(RustRawAddress bt_addr, ::rust::Vec<A2dpCodecConfig> codec_preferences) const;
  uint32_t connect(RawAddress addr) const;
  uint32_t disconnect(RawAddress addr) const;
  int set_silence_device(RawAddress addr, bool silent) const;
  int set_active_device(RawAddress addr) const;
  int config_codec(RawAddress addr, ::rust::Vec<A2dpCodecConfig> codec_preferences) const;
  void cleanup() const;

  // interface for Audio server
@@ -66,8 +65,8 @@ class AvrcpIntf {

  void init();
  void cleanup();
  uint32_t connect(RustRawAddress bt_addr);
  uint32_t disconnect(RustRawAddress bt_addr);
  uint32_t connect(RawAddress addr);
  uint32_t disconnect(RawAddress addr);

  // interface for Audio server
  void set_volume(int8_t volume);
Loading