diff options
author | Ayan Ghosh <abghosh@codeaurora.org> | 2014-11-25 21:02:39 +0530 |
---|---|---|
committer | Ayan Ghosh <abghosh@codeaurora.org> | 2014-11-25 21:04:01 +0530 |
commit | 0032f5ac4bc13baa9ada6c7635f3fe4d5b1fc114 (patch) | |
tree | d7e9bc717af8b6ae866a1c7be434433caa994de9 | |
parent | 087a6cf7a9bf66d7789c9901cc111451b466d57b (diff) | |
download | android_packages_apps_Bluetooth-0032f5ac4bc13baa9ada6c7635f3fe4d5b1fc114.tar.gz android_packages_apps_Bluetooth-0032f5ac4bc13baa9ada6c7635f3fe4d5b1fc114.tar.bz2 android_packages_apps_Bluetooth-0032f5ac4bc13baa9ada6c7635f3fe4d5b1fc114.zip |
Proper retrieval and storing of metadata
Proper retrieval and storing of metadata
Change-Id: I5593f1f6231af012237f0468614110f27c7cdcc2
-rw-r--r-- | src/com/android/bluetooth/avrcp/Avrcp.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/com/android/bluetooth/avrcp/Avrcp.java b/src/com/android/bluetooth/avrcp/Avrcp.java index e7cd00885..c6c8766fb 100644 --- a/src/com/android/bluetooth/avrcp/Avrcp.java +++ b/src/com/android/bluetooth/avrcp/Avrcp.java @@ -1423,11 +1423,16 @@ public final class Avrcp { final MediaPlayerInfo di = rccIterator.next(); if (di.GetPlayerFocus()) { if (DEBUG) Log.v(TAG, "resetting current MetaData"); - mMetadata = di.GetMetadata(); + mMetadata.artist = di.GetMetadata().artist; + mMetadata.trackTitle = di.GetMetadata().trackTitle; + mMetadata.albumTitle = di.GetMetadata().albumTitle; + mMetadata.genre = di.GetMetadata().genre; + mMetadata.tracknum = di.GetMetadata().tracknum; break; } } } + String oldMetadata = mMetadata.toString(); mMetadata.artist = data.getString(MediaMetadataRetriever.METADATA_KEY_ARTIST, null); mMetadata.trackTitle = data.getString(MediaMetadataRetriever.METADATA_KEY_TITLE, null); @@ -1436,7 +1441,8 @@ public final class Avrcp { mTrackNumber = data.getLong(MediaMetadataRetriever.METADATA_KEY_NUM_TRACKS, -1L); mMetadata.tracknum = data.getLong(MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER, -1L); - Log.v(TAG,"mMetadata.toString() = " + mMetadata.toString()); + Log.v(TAG,"old Metadata = " + oldMetadata); + Log.v(TAG,"new MetaData " + mMetadata.toString()); if (mMediaPlayers.size() > 0) { final Iterator<MediaPlayerInfo> rccIterator = mMediaPlayers.iterator(); @@ -1449,6 +1455,7 @@ public final class Avrcp { } } } + if (!oldMetadata.equals(mMetadata.toString())) { updateTrackNumber(); Log.v(TAG,"new mMetadata, mTrackNumber update to " + mTrackNumber); @@ -3961,6 +3968,8 @@ private void updateLocalPlayerSettings( byte[] data) { mMetadata.albumTitle = metaData.albumTitle; mMetadata.artist = metaData.artist; mMetadata.trackTitle = metaData.trackTitle; + mMetadata.genre = metaData.genre; + mMetadata.tracknum = metaData.tracknum; } public byte GetPlayState() { return mPlayState; |