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

Commit bf061e87 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Update/Add method on InfoMediaManager" into rvc-dev am: 0b4de66f am: fa37d016

Change-Id: Ia549d35df5d6c9aee9cd72c5e0d852f24d0a3a8d
parents a0160e40 fa37d016
Loading
Loading
Loading
Loading
+23 −1
Original line number Original line Diff line number Diff line
@@ -170,6 +170,26 @@ public class InfoMediaManager extends MediaManager {
        return false;
        return false;
    }
    }


    /**
     * Release session to stop playing media on MediaDevice.
     */
    boolean releaseSession() {
        if (TextUtils.isEmpty(mPackageName)) {
            Log.w(TAG, "releaseSession() package name is null or empty!");
            return false;
        }

        final RoutingSessionInfo info = getRoutingSessionInfo();
        if (info != null) {
            mRouterManager.getControllerForSession(info).release();
            return true;
        }

        Log.w(TAG, "releaseSession() Ignoring release session : " + mPackageName);

        return false;
    }

    /**
    /**
     * Get the MediaDevice list that can be added to current media.
     * Get the MediaDevice list that can be added to current media.
     *
     *
@@ -304,9 +324,11 @@ public class InfoMediaManager extends MediaManager {


    private void buildAllRoutes() {
    private void buildAllRoutes() {
        for (MediaRoute2Info route : mRouterManager.getAllRoutes()) {
        for (MediaRoute2Info route : mRouterManager.getAllRoutes()) {
            if (route.isSystemRoute()) {
                addMediaDevice(route);
                addMediaDevice(route);
            }
            }
        }
        }
    }


    private void buildAvailableRoutes() {
    private void buildAvailableRoutes() {
        for (MediaRoute2Info route : mRouterManager.getAvailableRoutes(mPackageName)) {
        for (MediaRoute2Info route : mRouterManager.getAvailableRoutes(mPackageName)) {
+7 −0
Original line number Original line Diff line number Diff line
@@ -281,6 +281,13 @@ public class LocalMediaManager implements BluetoothCallback {
        return mInfoMediaManager.getSelectableMediaDevice();
        return mInfoMediaManager.getSelectableMediaDevice();
    }
    }


    /**
     * Release session to stop playing media on MediaDevice.
     */
    public boolean releaseSession() {
        return mInfoMediaManager.releaseSession();
    }

    /**
    /**
     * Get the MediaDevice list that has been selected to current media.
     * Get the MediaDevice list that has been selected to current media.
     *
     *
+22 −0
Original line number Original line Diff line number Diff line
@@ -96,6 +96,7 @@ public class InfoMediaManagerTest {
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(info.isSystemRoute()).thenReturn(true);


        final List<MediaRoute2Info> routes = new ArrayList<>();
        final List<MediaRoute2Info> routes = new ArrayList<>();
        routes.add(info);
        routes.add(info);
@@ -166,6 +167,7 @@ public class InfoMediaManagerTest {
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(info.isSystemRoute()).thenReturn(true);


        final List<MediaRoute2Info> routes = new ArrayList<>();
        final List<MediaRoute2Info> routes = new ArrayList<>();
        routes.add(info);
        routes.add(info);
@@ -221,6 +223,7 @@ public class InfoMediaManagerTest {
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        final MediaRoute2Info info = mock(MediaRoute2Info.class);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getId()).thenReturn(TEST_ID);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(info.isSystemRoute()).thenReturn(true);


        final List<MediaRoute2Info> routes = new ArrayList<>();
        final List<MediaRoute2Info> routes = new ArrayList<>();
        routes.add(info);
        routes.add(info);
@@ -438,4 +441,23 @@ public class InfoMediaManagerTest {


        assertThat(mInfoMediaManager.getSessionVolume()).isEqualTo(-1);
        assertThat(mInfoMediaManager.getSessionVolume()).isEqualTo(-1);
    }
    }

    @Test
    public void releaseSession_packageNameIsNull_returnFalse() {
        mInfoMediaManager.mPackageName = null;

        assertThat(mInfoMediaManager.releaseSession()).isFalse();
    }

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

        mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
        when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);

        assertThat(mInfoMediaManager.releaseSession()).isTrue();
    }
}
}