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

Commit 3d830136 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update MediaRouter2Manager api" into rvc-dev am: bb138f21

Change-Id: I773daf31de35fbf305a1343a50466e0f067afd8b
parents 9e5947d3 bb138f21
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ public class InfoMediaManager extends MediaManager {

    private static final String TAG = "InfoMediaManager";
    private static final boolean DEBUG = false;

    @VisibleForTesting
    final RouterManagerCallback mMediaRouterCallback = new RouterManagerCallback();
    @VisibleForTesting
@@ -138,14 +137,10 @@ public class InfoMediaManager extends MediaManager {
    }

    private RoutingSessionInfo getRoutingSessionInfo() {
        for (RoutingSessionInfo info : mRouterManager.getRoutingSessions(mPackageName)) {
            if (TextUtils.equals(info.getClientPackageName(), mPackageName)) {
                return info;
            }
        }
        final List<RoutingSessionInfo> sessionInfos =
                mRouterManager.getRoutingSessions(mPackageName);

        Log.w(TAG, "RoutingSessionInfo() cannot found match packagename : " + mPackageName);
        return null;
        return sessionInfos.get(sessionInfos.size() - 1);
    }

    /**
@@ -181,10 +176,7 @@ public class InfoMediaManager extends MediaManager {
            return false;
        }


        final List<RoutingSessionInfo> sessionInfos =
                mRouterManager.getRoutingSessions(mPackageName);
        final RoutingSessionInfo sessionInfo = sessionInfos.get(sessionInfos.size() - 1);
        final RoutingSessionInfo sessionInfo = getRoutingSessionInfo();

        if (sessionInfo != null) {
            mRouterManager.releaseSession(sessionInfo);
@@ -375,7 +367,7 @@ public class InfoMediaManager extends MediaManager {
                mediaDevice = new InfoMediaDevice(mContext, mRouterManager, route,
                        mPackageName);
                if (!TextUtils.isEmpty(mPackageName)
                        && TextUtils.equals(route.getClientPackageName(), mPackageName)
                        && getRoutingSessionInfo().getSelectedRoutes().contains(route.getId())
                        && mCurrentConnectedDevice == null) {
                    mCurrentConnectedDevice = mediaDevice;
                }
+38 −10
Original line number Diff line number Diff line
@@ -77,6 +77,14 @@ public class InfoMediaManagerTest {

    @Test
    public void onRouteAdded_getAvailableRoutes_shouldAddMediaDevice() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo sessionInfo = mock(RoutingSessionInfo.class);
        routingSessionInfos.add(sessionInfo);
        final List<String> selectedRoutes = new ArrayList<>();
        selectedRoutes.add(TEST_ID);
        when(sessionInfo.getSelectedRoutes()).thenReturn(selectedRoutes);
        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);

        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
@@ -120,6 +128,14 @@ public class InfoMediaManagerTest {

    @Test
    public void onControlCategoriesChanged_samePackageName_shouldAddMediaDevice() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo sessionInfo = mock(RoutingSessionInfo.class);
        routingSessionInfos.add(sessionInfo);
        final List<String> selectedRoutes = new ArrayList<>();
        selectedRoutes.add(TEST_ID);
        when(sessionInfo.getSelectedRoutes()).thenReturn(selectedRoutes);
        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);

        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
@@ -148,6 +164,14 @@ public class InfoMediaManagerTest {

    @Test
    public void onRoutesChanged_getAvailableRoutes_shouldAddMediaDevice() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo sessionInfo = mock(RoutingSessionInfo.class);
        routingSessionInfos.add(sessionInfo);
        final List<String> selectedRoutes = new ArrayList<>();
        selectedRoutes.add(TEST_ID);
        when(sessionInfo.getSelectedRoutes()).thenReturn(selectedRoutes);
        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);

        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        mInfoMediaManager.registerCallback(mCallback);

@@ -210,6 +234,14 @@ public class InfoMediaManagerTest {

    @Test
    public void onRoutesRemoved_getAvailableRoutes_shouldAddMediaDevice() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo sessionInfo = mock(RoutingSessionInfo.class);
        routingSessionInfos.add(sessionInfo);
        final List<String> selectedRoutes = new ArrayList<>();
        selectedRoutes.add(TEST_ID);
        when(sessionInfo.getSelectedRoutes()).thenReturn(selectedRoutes);
        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);

        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
@@ -409,13 +441,12 @@ public class InfoMediaManagerTest {
    }

    @Test
    public void getSessionVolumeMax_notContainPackageName_returnNotFound() {
    public void getSessionVolumeMax_routeSessionInfoIsNull_returnNotFound() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo info = mock(RoutingSessionInfo.class);
        final RoutingSessionInfo info = null;
        routingSessionInfos.add(info);

        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
        when(info.getClientPackageName()).thenReturn("com.fake.packagename");

        assertThat(mInfoMediaManager.getSessionVolumeMax()).isEqualTo(-1);
    }
@@ -442,13 +473,12 @@ public class InfoMediaManagerTest {
    }

    @Test
    public void getSessionVolume_notContainPackageName_returnNotFound() {
    public void getSessionVolume_routeSessionInfoIsNull_returnNotFound() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo info = mock(RoutingSessionInfo.class);
        final RoutingSessionInfo info = null;
        routingSessionInfos.add(info);

        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
        when(info.getClientPackageName()).thenReturn("com.fake.packagename");

        assertThat(mInfoMediaManager.getSessionVolume()).isEqualTo(-1);
    }
@@ -480,14 +510,12 @@ public class InfoMediaManagerTest {
    }

    @Test
    public void getSessionName_notContainPackageName_returnNull() {
    public void getSessionName_routeSessionInfoIsNull_returnNull() {
        final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
        final RoutingSessionInfo info = mock(RoutingSessionInfo.class);
        final RoutingSessionInfo info = null;
        routingSessionInfos.add(info);

        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
        when(info.getClientPackageName()).thenReturn("com.fake.packagename");
        when(info.getName()).thenReturn(TEST_NAME);

        assertThat(mInfoMediaManager.getSessionName()).isNull();
    }