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

Commit 04440e53 authored by Etienne Ruffieux's avatar Etienne Ruffieux
Browse files

Add logs and prevent addressed player update when browsing

refactor is not active.

Addressed player will work properly with the browsing
refactor that removes the fake "Bluetooth player".
In order to keep the current behavior, we have to check
if both Flags are enabled in setActivePlayer.

Bug: 360943232
Flag: com.android.bluetooth.flags.set_addressed_player
Test: atest pts-bot:AVRCP
Change-Id: Iebf491047953126542737817a265247baef1bd64
parent 6d30a2c4
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -419,6 +419,9 @@ public class MediaPlayerList {
        if (mMediaPlayerIds.containsValue(playerId)) {
            mAddressedPlayerId = playerId;
            sendFolderUpdate(false, true, false);
            Log.d(TAG, "setAddressedPlayer to: " + mAddressedPlayerId);
        } else {
            Log.d(TAG, "setAddressedPlayer not updated: " + mAddressedPlayerId);
        }
        return mAddressedPlayerId;
    }
@@ -984,11 +987,13 @@ public class MediaPlayerList {

        if (Utils.isPtsTestMode()) {
            sendFolderUpdate(true, true, false);
        } else if (Flags.setAddressedPlayer()) {
        } else if (Flags.setAddressedPlayer() && Flags.browsingRefactor()) {
            // If the browsing refactor flag is not active, addressed player should always be 0.
            // If the new active player has been set by Addressed player key event
            // We don't send an addressed player update.
            if (mActivePlayerId != mAddressedPlayerId) {
                mAddressedPlayerId = mActivePlayerId;
                Log.d(TAG, "setActivePlayer AddressedPlayer changed to " + mAddressedPlayerId);
                sendFolderUpdate(false, true, false);
            }
        }
+1 −0
Original line number Diff line number Diff line
@@ -902,6 +902,7 @@ void Device::HandlePlayItem(uint8_t label, std::shared_ptr<PlayItemRequest> pkt)
void Device::HandleSetAddressedPlayer(uint8_t label, std::shared_ptr<SetAddressedPlayerRequest> pkt,
                                      uint16_t curr_player) {
  log::verbose("PlayerId={}", pkt->GetPlayerId());
  log::verbose("curr_player={}", curr_player);

  if (curr_player != pkt->GetPlayerId()) {
    log::verbose("Reject invalid addressed player ID");