No media status is visible in Output Switcher

-Reflash header when get latest media controller

Bug: 152606491
Test: make -j42 RunSettingsRoboTests
Change-Id: I14542a7f8ba921c9d1dbaacf7e01c3ee673527b2
This commit is contained in:
Tim Peng
2020-03-30 16:20:14 +08:00
parent 0747e57f25
commit 3ac144163e
2 changed files with 20 additions and 1 deletions

View File

@@ -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;
}
}

View File

@@ -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