diff options
author | Ajay Panicker <apanicke@google.com> | 2018-05-31 11:13:27 -0700 |
---|---|---|
committer | Ajay Panicker <apanicke@google.com> | 2018-06-01 13:15:06 -0700 |
commit | 09b958725cbdb2a19ef0ac667c6e62145141404c (patch) | |
tree | ad39135d3e2e8265a5f66e542b9e909d0e2274f6 /src | |
parent | af6d94db84fbda7c9243cbc193d8e8e0290ac11e (diff) | |
download | android_packages_apps_Bluetooth-09b958725cbdb2a19ef0ac667c6e62145141404c.tar.gz android_packages_apps_Bluetooth-09b958725cbdb2a19ef0ac667c6e62145141404c.tar.bz2 android_packages_apps_Bluetooth-09b958725cbdb2a19ef0ac667c6e62145141404c.zip |
Check for null metadata on update
Bug: 80281220
Test: runtest bluetooth -c
com.android.bluetooth.avrcp.MediaPlayerWrapperTest
Change-Id: I0751b54fe383e33eeebe06c671aebaa188e6d680
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/bluetooth/newavrcp/MediaPlayerWrapper.java | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/com/android/bluetooth/newavrcp/MediaPlayerWrapper.java b/src/com/android/bluetooth/newavrcp/MediaPlayerWrapper.java index 32a9e4e56..e0b591ad1 100644 --- a/src/com/android/bluetooth/newavrcp/MediaPlayerWrapper.java +++ b/src/com/android/bluetooth/newavrcp/MediaPlayerWrapper.java @@ -16,6 +16,7 @@ package com.android.bluetooth.avrcp; +import android.annotation.Nullable; import android.media.MediaMetadata; import android.media.session.MediaSession; import android.media.session.PlaybackState; @@ -375,15 +376,16 @@ class MediaPlayerWrapper { } @Override - public void onMetadataChanged(MediaMetadata metadata) { + public void onMetadataChanged(@Nullable MediaMetadata metadata) { if (!isReady()) { - Log.v(TAG, mPackageName + " tried to update with incomplete metadata"); + Log.v(TAG, "onMetadataChanged(): " + mPackageName + + " tried to update with no queue"); return; } Log.v(TAG, "onMetadataChanged(): " + mPackageName + " : " + Util.toMetadata(metadata)); - if (!metadata.equals(getMetadata())) { + if (!Objects.equals(metadata, getMetadata())) { e("The callback metadata doesn't match controller metadata"); } @@ -395,7 +397,7 @@ class MediaPlayerWrapper { // TODO: Spotify needs a metadata update debouncer as it sometimes updates the metadata // twice in a row with the only difference being that the song duration is rounded to // the nearest second. - if (metadata.equals(mCurrentData.metadata)) { + if (Objects.equals(metadata, mCurrentData.metadata)) { Log.w(TAG, "onMetadataChanged(): " + mPackageName + " tried to update with no new data"); return; @@ -405,9 +407,10 @@ class MediaPlayerWrapper { } @Override - public void onPlaybackStateChanged(PlaybackState state) { + public void onPlaybackStateChanged(@Nullable PlaybackState state) { if (!isReady()) { - Log.v(TAG, mPackageName + " tried to update with no state"); + Log.v(TAG, "onPlaybackStateChanged(): " + mPackageName + + " tried to update with no queue"); return; } @@ -433,14 +436,15 @@ class MediaPlayerWrapper { } @Override - public void onQueueChanged(List<MediaSession.QueueItem> queue) { - Log.v(TAG, "onQueueChanged(): " + mPackageName); - + public void onQueueChanged(@Nullable List<MediaSession.QueueItem> queue) { if (!isReady()) { - Log.v(TAG, mPackageName + " tried to updated with no queue"); + Log.v(TAG, "onQueueChanged(): " + mPackageName + + " tried to update with no queue"); return; } + Log.v(TAG, "onQueueChanged(): " + mPackageName); + if (!Objects.equals(queue, getQueue())) { e("The callback queue isn't the current queue"); } |