am 79d176b0: Resolve AVRCP IOP issues
* commit '79d176b0f3d6cb33c7e52be6641fd4808ba87e93':
Resolve AVRCP IOP issues
diff --git a/src/com/android/bluetooth/a2dp/Avrcp.java b/src/com/android/bluetooth/a2dp/Avrcp.java
index 3e3ded1..0a5a69e 100755
--- a/src/com/android/bluetooth/a2dp/Avrcp.java
+++ b/src/com/android/bluetooth/a2dp/Avrcp.java
@@ -93,7 +93,7 @@
mCurrentPlayState = RemoteControlClient.PLAYSTATE_NONE; // until we get a callback
mPlayStatusChangedNT = NOTIFICATION_TYPE_CHANGED;
mTrackChangedNT = NOTIFICATION_TYPE_CHANGED;
- mTrackNumber = 0L;
+ mTrackNumber = -1L;
mCurrentPosMs = RemoteControlClient.PLAYBACK_POSITION_INVALID;
mPlayStartTimeMs = -1L;
mSongLengthMs = 0L;
@@ -411,8 +411,9 @@
private void sendTrackChangedRsp() {
byte[] track = new byte[TRACK_ID_SIZE];
+ /* track is stored in big endian format */
for (int i = 0; i < TRACK_ID_SIZE; ++i) {
- track[i] = (byte) (mTrackNumber >> (8 * i));
+ track[i] = (byte) (mTrackNumber >> (56 - 8 * i));
}
registerNotificationRspTrackChangeNative(mTrackChangedNT, track);
}
@@ -469,6 +470,7 @@
break;
case RemoteControlClient.PLAYSTATE_STOPPED:
+ case RemoteControlClient.PLAYSTATE_NONE:
playStatus = PLAYSTATUS_STOPPED;
break;
@@ -487,7 +489,6 @@
break;
case RemoteControlClient.PLAYSTATE_ERROR:
- case RemoteControlClient.PLAYSTATE_NONE:
playStatus = PLAYSTATUS_ERROR;
break;