diff --git a/src/com/android/settings/panel/MediaOutputPanel.java b/src/com/android/settings/panel/MediaOutputPanel.java index 31ae31b503c..f528cea4f5a 100644 --- a/src/com/android/settings/panel/MediaOutputPanel.java +++ b/src/com/android/settings/panel/MediaOutputPanel.java @@ -220,6 +220,7 @@ public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceC if (TextUtils.equals(controller.getPackageName(), mPackageName)) { mMediaController = controller; mMediaController.registerCallback(mCb); + mCallback.onHeaderChanged(); break; } } diff --git a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java index 563028e96cb..0f30c200bf1 100644 --- a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java +++ b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java @@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -58,6 +59,7 @@ import java.util.List; public class MediaOutputPanelTest { private static final String TEST_PACKAGENAME = "com.test.packagename"; + private static final String TEST_PACKAGENAME2 = "com.test.packagename2"; private static final String TEST_ARTIST = "test_artist"; private static final String TEST_SONG = "test_song"; @@ -131,6 +133,21 @@ public class MediaOutputPanelTest { verify(mLocalMediaManager).startScan(); } + @Test + public void onStart_activeSession_verifyOnHeaderChanged() { + mPanel.onStart(); + + verify(mCallback).onHeaderChanged(); + } + + @Test + public void onStart_noMatchedActiveSession_verifyNeverOnHeaderChanged() { + when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGENAME2); + mPanel.onStart(); + + verify(mCallback, never()).onHeaderChanged(); + } + @Test public void onStop_shouldUnregisterCallback() { mPanel.onStop(); @@ -255,12 +272,13 @@ public class MediaOutputPanelTest { @Test public void onMetadataChanged_verifyCallOnHeaderChanged() { mPanel.onStart(); + verify(mCallback).onHeaderChanged(); verify(mMediaController).registerCallback(mControllerCbs.capture()); final MediaController.Callback controllerCallbacks = mControllerCbs.getValue(); controllerCallbacks.onMetadataChanged(mMediaMetadata); - verify(mCallback).onHeaderChanged(); + verify(mCallback, times(2)).onHeaderChanged(); } @Test