Merge "Close panel when media stop" into rvc-dev

This commit is contained in:
tim peng
2020-03-19 06:08:05 +00:00
committed by Android (Google) Code Review
5 changed files with 59 additions and 3 deletions

View File

@@ -22,6 +22,7 @@ import static com.google.common.truth.Truth.assertThat;
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.verify;
import static org.mockito.Mockito.when;
@@ -30,6 +31,7 @@ import android.content.Context;
import android.media.MediaMetadata;
import android.media.session.MediaController;
import android.media.session.MediaSessionManager;
import android.media.session.PlaybackState;
import android.net.Uri;
import com.android.settings.R;
@@ -67,6 +69,8 @@ public class MediaOutputPanelTest {
private LocalMediaManager mLocalMediaManager;
@Mock
private PanelContentCallback mCallback;
@Mock
private PlaybackState mPlaybackState;
private MediaOutputPanel mPanel;
private Context mContext;
@@ -259,4 +263,19 @@ public class MediaOutputPanelTest {
verify(mCallback).onHeaderChanged();
}
@Test
public void onPlaybackStateChanged_stateFromPlayingToStopped_verifyCallForceClose() {
mPanel.onStart();
verify(mMediaController).registerCallback(mControllerCbs.capture());
final MediaController.Callback controllerCallbacks = mControllerCbs.getValue();
when(mPlaybackState.getState()).thenReturn(PlaybackState.STATE_PLAYING);
controllerCallbacks.onPlaybackStateChanged(mPlaybackState);
verify(mCallback, never()).forceClose();
when(mPlaybackState.getState()).thenReturn(PlaybackState.STATE_STOPPED);
controllerCallbacks.onPlaybackStateChanged(mPlaybackState);
verify(mCallback).forceClose();
}
}

View File

@@ -23,6 +23,7 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -236,4 +237,17 @@ public class PanelFragmentTest {
assertThat(headerTitle.getText()).isEqualTo(TITLE2);
assertThat(headerSubtitle.getText()).isEqualTo(SUBTITLE2);
}
@Test
public void forceClose_verifyFinish() {
initFakeActivity();
verify(mFakePanelContent).registerCallback(mPanelContentCbs.capture());
final PanelContentCallback panelContentCallbacks = spy(mPanelContentCbs.getValue());
when(((PanelFragment.LocalPanelCallback) panelContentCallbacks).getFragmentActivity())
.thenReturn(mActivity);
panelContentCallbacks.forceClose();
verify(mActivity).finish();
}
}