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

Commit f9824c7f authored by beryl hou's avatar beryl hou Committed by Andre Eisenbach
Browse files

Return no track selected if no track is currently selected.

Fix to satisfy AVRCP 1.4 spec.
In EVENT_TRACK_CHANGED response request,
if a track is selected , then return 0x0 in the response.
if no track currently selected,then return 0xFFFFFFFFFFFFFFFF in the INTERIN response.

Bug: 22519285

Change-Id: Iaaae1d4acf918049d99c27d9ad98bde15242ade1
parent 1dd08a53
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -673,9 +673,18 @@ public final class Avrcp {

    private void sendTrackChangedRsp() {
        byte[] track = new byte[TRACK_ID_SIZE];

        /* If no track is currently selected, then return
           0xFFFFFFFFFFFFFFFF in the interim response */
        long trackNumberRsp = -1L;

        if (mCurrentPlayState == RemoteControlClient.PLAYSTATE_PLAYING) {
            trackNumberRsp = mTrackNumber;
        }

        /* track is stored in big endian format */
        for (int i = 0; i < TRACK_ID_SIZE; ++i) {
            track[i] = (byte) (mTrackNumber >> (56 - 8 * i));
            track[i] = (byte) (trackNumberRsp >> (56 - 8 * i));
        }
        registerNotificationRspTrackChangeNative(mTrackChangedNT, track);
    }