Merge "Update/Add method on InfoMediaManager" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0b4de66f6d
@@ -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,7 +324,9 @@ public class InfoMediaManager extends MediaManager {
|
|||||||
|
|
||||||
private void buildAllRoutes() {
|
private void buildAllRoutes() {
|
||||||
for (MediaRoute2Info route : mRouterManager.getAllRoutes()) {
|
for (MediaRoute2Info route : mRouterManager.getAllRoutes()) {
|
||||||
addMediaDevice(route);
|
if (route.isSystemRoute()) {
|
||||||
|
addMediaDevice(route);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user