Don't check selectedRoutes of created sesions

There are cases that a newly create session does not contain
the requested route. (e.g. static group)
This CL removes check that disallowed those cases.

Bug: 159881597
Test: Run CTS, atest mediaroutertest and manually
using support v7 demos, which is edited to call
notifySessionCreated with member routes selected

Change-Id: I30741d2f3587d0fa9ee5a10fdb8fab9e0d82c721
This commit is contained in:
Kyunglyul Hyun
2020-06-25 19:11:18 +09:00
parent 10f788d8e2
commit f19e811c88
2 changed files with 1 additions and 21 deletions

View File

@@ -663,13 +663,6 @@ public final class MediaRouter2 {
if (sessionInfo == null) {
notifyTransferFailure(requestedRoute);
return;
} else if (!sessionInfo.getSelectedRoutes().contains(requestedRoute.getId())) {
Log.w(TAG, "The session does not contain the requested route. "
+ "(requestedRouteId=" + requestedRoute.getId()
+ ", actualRoutes=" + sessionInfo.getSelectedRoutes()
+ ")");
notifyTransferFailure(requestedRoute);
return;
} else if (!TextUtils.equals(requestedRoute.getProviderId(),
sessionInfo.getProviderId())) {
Log.w(TAG, "The session's provider ID does not match the requested route's. "

View File

@@ -1555,7 +1555,6 @@ class MediaRouter2ServiceImpl {
long managerRequestId = (matchingRequest == null)
? MediaRoute2ProviderService.REQUEST_ID_NONE
: matchingRequest.mManagerRequestId;
// Managers should know created session even if it's not requested.
notifySessionCreatedToManagers(managerRequestId, sessionInfo);
if (matchingRequest == null) {
@@ -1575,18 +1574,6 @@ class MediaRouter2ServiceImpl {
+ "session=" + matchingRequest.mOldSession);
}
String originalRouteId = matchingRequest.mRoute.getId();
RouterRecord routerRecord = matchingRequest.mRouterRecord;
if (!sessionInfo.getSelectedRoutes().contains(originalRouteId)) {
Slog.w(TAG, "Created session doesn't match the original request."
+ " originalRouteId=" + originalRouteId
+ ", uniqueRequestId=" + uniqueRequestId + ", sessionInfo=" + sessionInfo);
notifySessionCreationFailedToRouter(matchingRequest.mRouterRecord,
toOriginalRequestId(uniqueRequestId));
return;
}
// Succeeded
if (sessionInfo.isSystemSession()
&& !matchingRequest.mRouterRecord.mHasModifyAudioRoutingPermission) {
@@ -1597,7 +1584,7 @@ class MediaRouter2ServiceImpl {
notifySessionCreatedToRouter(matchingRequest.mRouterRecord,
toOriginalRequestId(uniqueRequestId), sessionInfo);
}
mSessionToRouterMap.put(sessionInfo.getId(), routerRecord);
mSessionToRouterMap.put(sessionInfo.getId(), matchingRequest.mRouterRecord);
}
private void onSessionInfoChangedOnHandler(@NonNull MediaRoute2Provider provider,