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

Commit d3ca28f9 authored by Marie Janssen's avatar Marie Janssen
Browse files

AVRCP: workaround invalid setBrowsedPlayer id

Some carkits (Ford specifically) send SetBrowsedPlayer with an ID of 0,
which we never send.  Instead of sending back Invalid ID we guess that
they want to set it to the current addressed player.

Bug: 62811071
Bug: 63057931
Test: browse with ford carkit and it works
Change-Id: I744a3193abb3663997e6143aace4fc59a4705864
parent f2c48157
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1550,8 +1550,15 @@ public final class Avrcp {
        // checking for error cases
        if (mMediaPlayerInfoList.isEmpty()) {
            status = AvrcpConstants.RSP_NO_AVBL_PLAY;
            Log.w(TAG, " No Available Players to set, sending response back ");
            Log.w(TAG, "setBrowsedPlayer: No available players! ");
        } else {
            // Workaround for broken controllers selecting ID 0
            // Seen at least on Ford, Chevrolet MyLink
            if (selectedId == 0) {
                Log.w(TAG, "setBrowsedPlayer: workaround invalid id 0");
                selectedId = mCurrAddrPlayerID;
            }

            // update current browse player id and start browsing service
            updateNewIds(mCurrAddrPlayerID, selectedId);
            String browsedPackage = getPackageName(selectedId);