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

Commit ccc874da authored by Iván Budnik's avatar Iván Budnik
Browse files

Inline shouldDisableMediaOutput to Settings app

This change removes a MediaRouter2Manager dependency from SettingsLib.

This is a non-functional change.

Bug: 192657812
Test: Presubmit.
Change-Id: If3179c58847e9c3e9d881f2d97bc39173e4359c5
parent 9dcebfc2
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -496,16 +496,6 @@ public abstract class InfoMediaManager extends MediaManager {
        return info.getName();
    }

    boolean shouldDisableMediaOutput(String packageName) {
        if (TextUtils.isEmpty(packageName)) {
            Log.w(TAG, "shouldDisableMediaOutput() package name is null or empty!");
            return true;
        }

        // Disable when there is no transferable route
        return getTransferableRoutes(packageName).isEmpty();
    }

    @TargetApi(Build.VERSION_CODES.R)
    boolean shouldEnableVolumeSeekBar(RoutingSessionInfo sessionInfo) {
        return sessionInfo.isSystemSession() // System sessions are not remote
+0 −7
Original line number Diff line number Diff line
@@ -452,13 +452,6 @@ public class LocalMediaManager implements BluetoothCallback {
        return mPackageName;
    }

    /**
     * Returns {@code true} if needed to disable media output, otherwise returns {@code false}.
     */
    public boolean shouldDisableMediaOutput(String packageName) {
        return mInfoMediaManager.shouldDisableMediaOutput(packageName);
    }

    /**
     * Returns {@code true} if needed to enable volume seekbar, otherwise returns {@code false}.
     */
+0 −47
Original line number Diff line number Diff line
@@ -1083,51 +1083,4 @@ public class InfoMediaManagerTest {
        assertThat(device.getState()).isEqualTo(STATE_SELECTED);
        assertThat(mInfoMediaManager.getCurrentConnectedDevice()).isEqualTo(device);
    }

    @Test
    public void shouldDisableMediaOutput_infosIsEmpty_returnsTrue() {
        mShadowRouter2Manager.setTransferableRoutes(new ArrayList<>());

        assertThat(mInfoMediaManager.shouldDisableMediaOutput("test")).isTrue();
    }

    @Test
    public void shouldDisableMediaOutput_infosSizeEqual1_returnsFalse() {
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        final List<MediaRoute2Info> infos = new ArrayList<>();
        infos.add(info);
        mShadowRouter2Manager.setTransferableRoutes(infos);

        when(info.getType()).thenReturn(TYPE_REMOTE_SPEAKER);

        assertThat(mInfoMediaManager.shouldDisableMediaOutput("test")).isFalse();
    }

    @Test
    public void shouldDisableMediaOutput_infosSizeEqual1AndNotCastDevice_returnsFalse() {
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        final List<MediaRoute2Info> infos = new ArrayList<>();
        infos.add(info);
        mShadowRouter2Manager.setTransferableRoutes(infos);

        when(info.getType()).thenReturn(TYPE_BUILTIN_SPEAKER);

        assertThat(mInfoMediaManager.shouldDisableMediaOutput("test")).isFalse();
    }


    @Test
    public void shouldDisableMediaOutput_infosSizeOverThan1_returnsFalse() {
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        final MediaRoute2Info info2 = mock(MediaRoute2Info.class);
        final List<MediaRoute2Info> infos = new ArrayList<>();
        infos.add(info);
        infos.add(info2);
        mShadowRouter2Manager.setTransferableRoutes(infos);

        when(info.getType()).thenReturn(TYPE_REMOTE_SPEAKER);
        when(info2.getType()).thenReturn(TYPE_REMOTE_SPEAKER);

        assertThat(mInfoMediaManager.shouldDisableMediaOutput("test")).isFalse();
    }
}