Merge "Update MediaRouter2Manager api" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bb138f21d7
@@ -52,7 +52,6 @@ public class InfoMediaManager extends MediaManager {
|
|||||||
|
|
||||||
private static final String TAG = "InfoMediaManager";
|
private static final String TAG = "InfoMediaManager";
|
||||||
private static final boolean DEBUG = false;
|
private static final boolean DEBUG = false;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
final RouterManagerCallback mMediaRouterCallback = new RouterManagerCallback();
|
final RouterManagerCallback mMediaRouterCallback = new RouterManagerCallback();
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -138,14 +137,10 @@ public class InfoMediaManager extends MediaManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private RoutingSessionInfo getRoutingSessionInfo() {
|
private RoutingSessionInfo getRoutingSessionInfo() {
|
||||||
for (RoutingSessionInfo info : mRouterManager.getRoutingSessions(mPackageName)) {
|
final List<RoutingSessionInfo> sessionInfos =
|
||||||
if (TextUtils.equals(info.getClientPackageName(), mPackageName)) {
|
mRouterManager.getRoutingSessions(mPackageName);
|
||||||
return info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Log.w(TAG, "RoutingSessionInfo() cannot found match packagename : " + mPackageName);
|
return sessionInfos.get(sessionInfos.size() - 1);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -181,10 +176,7 @@ public class InfoMediaManager extends MediaManager {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final RoutingSessionInfo sessionInfo = getRoutingSessionInfo();
|
||||||
final List<RoutingSessionInfo> sessionInfos =
|
|
||||||
mRouterManager.getRoutingSessions(mPackageName);
|
|
||||||
final RoutingSessionInfo sessionInfo = sessionInfos.get(sessionInfos.size() - 1);
|
|
||||||
|
|
||||||
if (sessionInfo != null) {
|
if (sessionInfo != null) {
|
||||||
mRouterManager.releaseSession(sessionInfo);
|
mRouterManager.releaseSession(sessionInfo);
|
||||||
@@ -375,7 +367,7 @@ public class InfoMediaManager extends MediaManager {
|
|||||||
mediaDevice = new InfoMediaDevice(mContext, mRouterManager, route,
|
mediaDevice = new InfoMediaDevice(mContext, mRouterManager, route,
|
||||||
mPackageName);
|
mPackageName);
|
||||||
if (!TextUtils.isEmpty(mPackageName)
|
if (!TextUtils.isEmpty(mPackageName)
|
||||||
&& TextUtils.equals(route.getClientPackageName(), mPackageName)
|
&& getRoutingSessionInfo().getSelectedRoutes().contains(route.getId())
|
||||||
&& mCurrentConnectedDevice == null) {
|
&& mCurrentConnectedDevice == null) {
|
||||||
mCurrentConnectedDevice = mediaDevice;
|
mCurrentConnectedDevice = mediaDevice;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,6 +77,14 @@ public class InfoMediaManagerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onRouteAdded_getAvailableRoutes_shouldAddMediaDevice() {
|
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);
|
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);
|
||||||
@@ -120,6 +128,14 @@ public class InfoMediaManagerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onControlCategoriesChanged_samePackageName_shouldAddMediaDevice() {
|
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);
|
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);
|
||||||
@@ -148,6 +164,14 @@ public class InfoMediaManagerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onRoutesChanged_getAvailableRoutes_shouldAddMediaDevice() {
|
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);
|
final MediaRoute2Info info = mock(MediaRoute2Info.class);
|
||||||
mInfoMediaManager.registerCallback(mCallback);
|
mInfoMediaManager.registerCallback(mCallback);
|
||||||
|
|
||||||
@@ -210,6 +234,14 @@ public class InfoMediaManagerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onRoutesRemoved_getAvailableRoutes_shouldAddMediaDevice() {
|
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);
|
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);
|
||||||
@@ -409,13 +441,12 @@ public class InfoMediaManagerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSessionVolumeMax_notContainPackageName_returnNotFound() {
|
public void getSessionVolumeMax_routeSessionInfoIsNull_returnNotFound() {
|
||||||
final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
|
final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
|
||||||
final RoutingSessionInfo info = mock(RoutingSessionInfo.class);
|
final RoutingSessionInfo info = null;
|
||||||
routingSessionInfos.add(info);
|
routingSessionInfos.add(info);
|
||||||
|
|
||||||
mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
|
mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
|
||||||
when(info.getClientPackageName()).thenReturn("com.fake.packagename");
|
|
||||||
|
|
||||||
assertThat(mInfoMediaManager.getSessionVolumeMax()).isEqualTo(-1);
|
assertThat(mInfoMediaManager.getSessionVolumeMax()).isEqualTo(-1);
|
||||||
}
|
}
|
||||||
@@ -442,13 +473,12 @@ public class InfoMediaManagerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSessionVolume_notContainPackageName_returnNotFound() {
|
public void getSessionVolume_routeSessionInfoIsNull_returnNotFound() {
|
||||||
final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
|
final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
|
||||||
final RoutingSessionInfo info = mock(RoutingSessionInfo.class);
|
final RoutingSessionInfo info = null;
|
||||||
routingSessionInfos.add(info);
|
routingSessionInfos.add(info);
|
||||||
|
|
||||||
mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
|
mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
|
||||||
when(info.getClientPackageName()).thenReturn("com.fake.packagename");
|
|
||||||
|
|
||||||
assertThat(mInfoMediaManager.getSessionVolume()).isEqualTo(-1);
|
assertThat(mInfoMediaManager.getSessionVolume()).isEqualTo(-1);
|
||||||
}
|
}
|
||||||
@@ -480,14 +510,12 @@ public class InfoMediaManagerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSessionName_notContainPackageName_returnNull() {
|
public void getSessionName_routeSessionInfoIsNull_returnNull() {
|
||||||
final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
|
final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
|
||||||
final RoutingSessionInfo info = mock(RoutingSessionInfo.class);
|
final RoutingSessionInfo info = null;
|
||||||
routingSessionInfos.add(info);
|
routingSessionInfos.add(info);
|
||||||
|
|
||||||
mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
|
mShadowRouter2Manager.setRoutingSessions(routingSessionInfos);
|
||||||
when(info.getClientPackageName()).thenReturn("com.fake.packagename");
|
|
||||||
when(info.getName()).thenReturn(TEST_NAME);
|
|
||||||
|
|
||||||
assertThat(mInfoMediaManager.getSessionName()).isNull();
|
assertThat(mInfoMediaManager.getSessionName()).isNull();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user