Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c01aac3 authored by tim peng's avatar tim peng Committed by Automerger Merge Worker
Browse files

Merge ""Play null on" displayed under media volume" into rvc-dev am: 9a9ce2b2

Change-Id: I888d2c83f9b169a88212e71994faa160089d8e42
parents 61b8d3ea 9a9ce2b2
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -81,14 +81,17 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements
        mContext.registerReceiver(mReceiver, intentFilter);
        mLocalBluetoothManager.getEventManager().registerCallback(this);

        if (mLocalMediaManager == null) {
        final MediaController controller = getActiveLocalMediaController();
            if (controller != null) {
        if (controller == null) {
            mPackageName = null;
        } else {
            mPackageName = controller.getPackageName();
        }
            mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
        if (mLocalMediaManager == null || !TextUtils.equals(mPackageName,
                mLocalMediaManager.getPackageName())) {
            mLocalMediaManager = new LocalMediaManager(mContext, mPackageName,
                    null /* notification */);
        }

        mLocalMediaManager.registerCallback(this);
        mLocalMediaManager.startScan();
    }
+39 −6
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ import java.util.List;
@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
public class MediaOutputIndicatorWorkerTest {
    private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
    private static final String TEST_PACKAGE_NAME = "com.android.test";
    private static final String TEST_PACKAGE_NAME2 = "com.android.test2";

    @Mock
    private BluetoothEventManager mBluetoothEventManager;
@@ -109,6 +111,33 @@ public class MediaOutputIndicatorWorkerTest {
        verify(mLocalMediaManager).startScan();
    }

    @Test
    public void onSlicePinned_packageUpdated_checkPackageName() {
        initPlayback();
        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
        when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME);

        mMediaOutputIndicatorWorker.onSlicePinned();
        assertThat(mMediaOutputIndicatorWorker.mLocalMediaManager.getPackageName()).matches(
                TEST_PACKAGE_NAME);

        when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME2);
        mMediaOutputIndicatorWorker.onSlicePinned();

        assertThat(mMediaOutputIndicatorWorker.mLocalMediaManager.getPackageName()).matches(
                TEST_PACKAGE_NAME2);
    }

    @Test
    public void onSlicePinned_noActiveController_noPackageName() {
        mMediaControllers.clear();

        mMediaOutputIndicatorWorker.onSlicePinned();

        assertThat(mMediaOutputIndicatorWorker.mLocalMediaManager.getPackageName()).isNull();
    }

    @Test
    public void onSliceUnpinned_unRegisterCallback() {
        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
@@ -138,6 +167,16 @@ public class MediaOutputIndicatorWorkerTest {

    @Test
    public void getActiveLocalMediaController_localMediaPlaying_returnController() {
        initPlayback();

        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);

        assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isEqualTo(
                mMediaController);
    }

    private void initPlayback() {
        mPlaybackInfo = new MediaController.PlaybackInfo(
                MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
@@ -148,12 +187,6 @@ public class MediaOutputIndicatorWorkerTest {
        mPlaybackState = new PlaybackState.Builder()
                .setState(PlaybackState.STATE_PLAYING, 0, 1)
                .build();

        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);

        assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isEqualTo(
                mMediaController);
    }

    @Test