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

Commit 71fefa73 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['android-review.googlesource.com/3002654',...

Merge cherrypicks of ['android-review.googlesource.com/3002654', 'googleplex-android-review.googlesource.com/26539688'] into 24Q2-release.

Change-Id: I13dfe3b6183ef0a9507c034b6190bda544e2b80a
parents 8ff7c7c1 5e5b1526
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -6196,10 +6196,14 @@ public class AdapterService extends Service {

    int getConnectionState(BluetoothDevice device) {
        if (Flags.apiGetConnectionStateUsingIdentityAddress()) {
            int connectionState =
                    mNativeInterface.getConnectionState(getBytesFromAddress(device.getAddress()));
            final String identityAddress = device.getIdentityAddress();
            return (identityAddress == null)
                    ? mNativeInterface.getConnectionState(getBytesFromAddress(device.getAddress()))
                    : mNativeInterface.getConnectionState(getBytesFromAddress(identityAddress));
            if (identityAddress != null) {
                connectionState |=
                        mNativeInterface.getConnectionState(getBytesFromAddress(identityAddress));
            }
            return connectionState;
        }
        return mNativeInterface.getConnectionState(getBytesFromAddress(device.getAddress()));
    }
+5 −3
Original line number Diff line number Diff line
@@ -104,7 +104,8 @@ class LeAudioSinkAudioHalClient {
    virtual ~Callbacks() = default;
    virtual void OnAudioSuspend(void) = 0;
    virtual void OnAudioResume(void) = 0;
    virtual void OnAudioMetadataUpdate(sink_metadata_v7 sink_metadata) = 0;
    virtual void OnAudioMetadataUpdate(
        const std::vector<struct record_track_metadata_v7> sink_metadata) = 0;

    base::WeakPtrFactory<Callbacks> weak_factory_{this};
  };
@@ -144,7 +145,8 @@ class LeAudioSourceAudioHalClient {
    virtual void OnAudioDataReady(const std::vector<uint8_t>& data) = 0;
    virtual void OnAudioSuspend(void) = 0;
    virtual void OnAudioResume(void) = 0;
    virtual void OnAudioMetadataUpdate(source_metadata_v7 source_metadata,
    virtual void OnAudioMetadataUpdate(
        const std::vector<struct playback_track_metadata_v7> source_metadata,
        DsaMode dsa_mode) = 0;

    base::WeakPtrFactory<Callbacks> weak_factory_{this};
+9 −5
Original line number Diff line number Diff line
@@ -220,8 +220,10 @@ class MockLeAudioClientAudioSinkEventReceiver
              (override));
  MOCK_METHOD((void), OnAudioSuspend, (), (override));
  MOCK_METHOD((void), OnAudioResume, (), (override));
  MOCK_METHOD((void), OnAudioMetadataUpdate,
              (source_metadata_v7 source_metadata, DsaMode dsa_mode),
  MOCK_METHOD(
      (void), OnAudioMetadataUpdate,
      (const std::vector<struct playback_track_metadata_v7> source_metadata,
       DsaMode dsa_mode),
      (override));
};

@@ -230,7 +232,9 @@ class MockAudioHalClientEventReceiver
 public:
  MOCK_METHOD((void), OnAudioSuspend, (), (override));
  MOCK_METHOD((void), OnAudioResume, (), (override));
  MOCK_METHOD((void), OnAudioMetadataUpdate, (sink_metadata_v7 sink_metadata),
  MOCK_METHOD(
      (void), OnAudioMetadataUpdate,
      (const std::vector<struct record_track_metadata_v7> sink_metadata),
      (override));
};

+5 −1
Original line number Diff line number Diff line
@@ -162,11 +162,15 @@ bool SinkImpl::OnMetadataUpdateReq(const sink_metadata_v7_t& sink_metadata) {
    return false;
  }

  std::vector<struct record_track_metadata_v7> metadata(
      sink_metadata.tracks, sink_metadata.tracks + sink_metadata.track_count);

  bt_status_t status = do_in_main_thread(
      FROM_HERE,
      base::BindOnce(
          &LeAudioSinkAudioHalClient::Callbacks::OnAudioMetadataUpdate,
          audioSinkCallbacks_->weak_factory_.GetWeakPtr(), sink_metadata));
          audioSinkCallbacks_->weak_factory_.GetWeakPtr(),
          std::move(metadata)));
  if (status == BT_STATUS_SUCCESS) {
    return true;
  }
+6 −2
Original line number Diff line number Diff line
@@ -304,12 +304,16 @@ bool SourceImpl::OnMetadataUpdateReq(
    return false;
  }

  std::vector<struct playback_track_metadata_v7> metadata(
      source_metadata.tracks,
      source_metadata.tracks + source_metadata.track_count);

  bt_status_t status = do_in_main_thread(
      FROM_HERE,
      base::BindOnce(
          &LeAudioSourceAudioHalClient::Callbacks::OnAudioMetadataUpdate,
          audioSourceCallbacks_->weak_factory_.GetWeakPtr(), source_metadata,
          dsa_mode));
          audioSourceCallbacks_->weak_factory_.GetWeakPtr(),
          std::move(metadata), dsa_mode));
  if (status == BT_STATUS_SUCCESS) {
    return true;
  }
Loading