summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAjay Panicker <apanicke@google.com>2018-05-31 11:13:27 -0700
committerAjay Panicker <apanicke@google.com>2018-06-01 13:15:06 -0700
commit09b958725cbdb2a19ef0ac667c6e62145141404c (patch)
treead39135d3e2e8265a5f66e542b9e909d0e2274f6 /src
parentaf6d94db84fbda7c9243cbc193d8e8e0290ac11e (diff)
downloadandroid_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.java24
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");
}