diff options
author | Rohit Singh <singhr@codeaurora.org> | 2013-08-12 14:21:26 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2013-10-31 18:59:40 -0600 |
commit | 9d8793f116d3b17a5224ef77767687e510502a26 (patch) | |
tree | d5e80fa508efa678cbd62bcac4f4909bb6893e8d /src/com/android/bluetooth/a2dp/Avrcp.java | |
parent | dbb15f09bb075aafb57d9ff695734b059ef9f466 (diff) | |
download | android_packages_apps_Bluetooth-9d8793f116d3b17a5224ef77767687e510502a26.tar.gz android_packages_apps_Bluetooth-9d8793f116d3b17a5224ef77767687e510502a26.tar.bz2 android_packages_apps_Bluetooth-9d8793f116d3b17a5224ef77767687e510502a26.zip |
Bluetooth: Send proper track number
As per specification
RegisterNotification - If no track is currently selected
then return 0xFFFFFFFFFFFFFFFF in the interim response.
Changes are made to ensure return above value if play state
is not playing.
Change-Id: Ib27eeeb65fe6659178658e58eb8f875168b236df
CRs-Fixed: 519337
(cherry picked from commit 5676595caa52f85c369afb9b29119805c63577a9)
(cherry picked from commit b47f4c8a3e7b935cfeda2ebe506e54f903a5ed5e)
(cherry picked from commit f67097224dd89786b58d3d5d62775c15b7d03cd4)
Diffstat (limited to 'src/com/android/bluetooth/a2dp/Avrcp.java')
-rwxr-xr-x | src/com/android/bluetooth/a2dp/Avrcp.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/bluetooth/a2dp/Avrcp.java b/src/com/android/bluetooth/a2dp/Avrcp.java index 1e9ac00a2..04af2b5a0 100755 --- a/src/com/android/bluetooth/a2dp/Avrcp.java +++ b/src/com/android/bluetooth/a2dp/Avrcp.java @@ -648,9 +648,17 @@ final class Avrcp { private void sendTrackChangedRsp() { byte[] track = new byte[TRACK_ID_SIZE]; + long TrackNumberRsp = -1L; + + if(DEBUG) Log.v(TAG,"mCurrentPlayState" + mCurrentPlayState ); + /*As per spec 6.7.2 Register Notification + If no track is currently selected, then return + 0xFFFFFFFFFFFFFFFF in the interim response */ + 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); } |