Loading android/app/src/com/android/bluetooth/avrcp/MediaPlayerWrapper.java +10 −6 Original line number Diff line number Diff line Loading @@ -62,14 +62,18 @@ class MediaPlayerWrapper { void mediaUpdatedCallback(MediaData data); } boolean isReady() { boolean isPlaybackStateReady() { if (getPlaybackState() == null) { d("isReady(): PlaybackState is null"); d("isPlaybackStateReady(): PlaybackState is null"); return false; } return true; } boolean isMetadataReady() { if (getMetadata() == null) { d("isReady(): Metadata is null"); d("isMetadataReady(): Metadata is null"); return false; } Loading Loading @@ -372,7 +376,7 @@ class MediaPlayerWrapper { @Override public void onMetadataChanged(@Nullable MediaMetadata metadata) { if (!isReady()) { if (!isMetadataReady()) { Log.v(TAG, "onMetadataChanged(): " + mPackageName + " tried to update with no queue"); return; Loading Loading @@ -406,7 +410,7 @@ class MediaPlayerWrapper { @Override public void onPlaybackStateChanged(@Nullable PlaybackState state) { if (!isReady()) { if (!isPlaybackStateReady()) { Log.v(TAG, "onPlaybackStateChanged(): " + mPackageName + " tried to update with no queue"); return; Loading Loading @@ -435,7 +439,7 @@ class MediaPlayerWrapper { @Override public void onQueueChanged(@Nullable List<MediaSession.QueueItem> queue) { if (!isReady()) { if (!isPlaybackStateReady() || !isMetadataReady()) { Log.v(TAG, "onQueueChanged(): " + mPackageName + " tried to update with no queue"); return; Loading android/app/tests/unit/src/com/android/bluetooth/newavrcp/MediaPlayerWrapperTest.java +10 −8 Original line number Diff line number Diff line Loading @@ -152,23 +152,24 @@ public class MediaPlayerWrapperTest { @Test public void testIsReady() { MediaPlayerWrapper wrapper = MediaPlayerWrapper.wrap(mMockController, mThread.getLooper()); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isPlaybackStateReady()); Assert.assertTrue(wrapper.isMetadataReady()); // Test isReady() is false when the playback state is null // Test isPlaybackStateReady() is false when the playback state is null doReturn(null).when(mMockController).getPlaybackState(); Assert.assertFalse(wrapper.isReady()); Assert.assertFalse(wrapper.isPlaybackStateReady()); // Restore the old playback state doReturn(mTestState.build()).when(mMockController).getPlaybackState(); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isPlaybackStateReady()); // Test isReady() is false when the metadata is null // Test isMetadataReady() is false when the metadata is null doReturn(null).when(mMockController).getMetadata(); Assert.assertFalse(wrapper.isReady()); Assert.assertFalse(wrapper.isMetadataReady()); // Restore the old metadata doReturn(mTestMetadata.build()).when(mMockController).getMetadata(); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isMetadataReady()); } /* Loading @@ -179,7 +180,8 @@ public class MediaPlayerWrapperTest { public void testControllerUpdate() { // Create the wrapper object and register the looper with the timeout handler MediaPlayerWrapper wrapper = MediaPlayerWrapper.wrap(mMockController, mThread.getLooper()); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isPlaybackStateReady()); Assert.assertTrue(wrapper.isMetadataReady()); wrapper.registerCallback(mTestCbs); // Create a new MediaController that has different metadata than the previous controller Loading Loading
android/app/src/com/android/bluetooth/avrcp/MediaPlayerWrapper.java +10 −6 Original line number Diff line number Diff line Loading @@ -62,14 +62,18 @@ class MediaPlayerWrapper { void mediaUpdatedCallback(MediaData data); } boolean isReady() { boolean isPlaybackStateReady() { if (getPlaybackState() == null) { d("isReady(): PlaybackState is null"); d("isPlaybackStateReady(): PlaybackState is null"); return false; } return true; } boolean isMetadataReady() { if (getMetadata() == null) { d("isReady(): Metadata is null"); d("isMetadataReady(): Metadata is null"); return false; } Loading Loading @@ -372,7 +376,7 @@ class MediaPlayerWrapper { @Override public void onMetadataChanged(@Nullable MediaMetadata metadata) { if (!isReady()) { if (!isMetadataReady()) { Log.v(TAG, "onMetadataChanged(): " + mPackageName + " tried to update with no queue"); return; Loading Loading @@ -406,7 +410,7 @@ class MediaPlayerWrapper { @Override public void onPlaybackStateChanged(@Nullable PlaybackState state) { if (!isReady()) { if (!isPlaybackStateReady()) { Log.v(TAG, "onPlaybackStateChanged(): " + mPackageName + " tried to update with no queue"); return; Loading Loading @@ -435,7 +439,7 @@ class MediaPlayerWrapper { @Override public void onQueueChanged(@Nullable List<MediaSession.QueueItem> queue) { if (!isReady()) { if (!isPlaybackStateReady() || !isMetadataReady()) { Log.v(TAG, "onQueueChanged(): " + mPackageName + " tried to update with no queue"); return; Loading
android/app/tests/unit/src/com/android/bluetooth/newavrcp/MediaPlayerWrapperTest.java +10 −8 Original line number Diff line number Diff line Loading @@ -152,23 +152,24 @@ public class MediaPlayerWrapperTest { @Test public void testIsReady() { MediaPlayerWrapper wrapper = MediaPlayerWrapper.wrap(mMockController, mThread.getLooper()); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isPlaybackStateReady()); Assert.assertTrue(wrapper.isMetadataReady()); // Test isReady() is false when the playback state is null // Test isPlaybackStateReady() is false when the playback state is null doReturn(null).when(mMockController).getPlaybackState(); Assert.assertFalse(wrapper.isReady()); Assert.assertFalse(wrapper.isPlaybackStateReady()); // Restore the old playback state doReturn(mTestState.build()).when(mMockController).getPlaybackState(); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isPlaybackStateReady()); // Test isReady() is false when the metadata is null // Test isMetadataReady() is false when the metadata is null doReturn(null).when(mMockController).getMetadata(); Assert.assertFalse(wrapper.isReady()); Assert.assertFalse(wrapper.isMetadataReady()); // Restore the old metadata doReturn(mTestMetadata.build()).when(mMockController).getMetadata(); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isMetadataReady()); } /* Loading @@ -179,7 +180,8 @@ public class MediaPlayerWrapperTest { public void testControllerUpdate() { // Create the wrapper object and register the looper with the timeout handler MediaPlayerWrapper wrapper = MediaPlayerWrapper.wrap(mMockController, mThread.getLooper()); Assert.assertTrue(wrapper.isReady()); Assert.assertTrue(wrapper.isPlaybackStateReady()); Assert.assertTrue(wrapper.isMetadataReady()); wrapper.registerCallback(mTestCbs); // Create a new MediaController that has different metadata than the previous controller Loading