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

Commit c5e7d823 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: I0de78f61bbd5061738982b6a44b6c201c3de452c
parents 173dedce 9a9ce2b2
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -81,14 +81,17 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements
        mContext.registerReceiver(mReceiver, intentFilter);
        mContext.registerReceiver(mReceiver, intentFilter);
        mLocalBluetoothManager.getEventManager().registerCallback(this);
        mLocalBluetoothManager.getEventManager().registerCallback(this);


        if (mLocalMediaManager == null) {
        final MediaController controller = getActiveLocalMediaController();
        final MediaController controller = getActiveLocalMediaController();
            if (controller != null) {
        if (controller == null) {
            mPackageName = null;
        } else {
            mPackageName = controller.getPackageName();
            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.registerCallback(this);
        mLocalMediaManager.startScan();
        mLocalMediaManager.startScan();
    }
    }
+39 −6
Original line number Original line Diff line number Diff line
@@ -62,6 +62,8 @@ import java.util.List;
@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
public class MediaOutputIndicatorWorkerTest {
public class MediaOutputIndicatorWorkerTest {
    private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
    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
    @Mock
    private BluetoothEventManager mBluetoothEventManager;
    private BluetoothEventManager mBluetoothEventManager;
@@ -109,6 +111,33 @@ public class MediaOutputIndicatorWorkerTest {
        verify(mLocalMediaManager).startScan();
        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
    @Test
    public void onSliceUnpinned_unRegisterCallback() {
    public void onSliceUnpinned_unRegisterCallback() {
        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
@@ -138,6 +167,16 @@ public class MediaOutputIndicatorWorkerTest {


    @Test
    @Test
    public void getActiveLocalMediaController_localMediaPlaying_returnController() {
    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(
        mPlaybackInfo = new MediaController.PlaybackInfo(
                MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
                MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
@@ -148,12 +187,6 @@ public class MediaOutputIndicatorWorkerTest {
        mPlaybackState = new PlaybackState.Builder()
        mPlaybackState = new PlaybackState.Builder()
                .setState(PlaybackState.STATE_PLAYING, 0, 1)
                .setState(PlaybackState.STATE_PLAYING, 0, 1)
                .build();
                .build();

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

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


    @Test
    @Test