diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java index d6846bed2a144..023d608a0a3d2 100644 --- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java @@ -2138,17 +2138,17 @@ class MediaRouter2ServiceImpl { + "session=" + matchingRequest.mOldSession); } - // Succeeded + mSessionToRouterMap.put(sessionInfo.getId(), matchingRequest.mRouterRecord); if (sessionInfo.isSystemSession() && !matchingRequest.mRouterRecord.mHasModifyAudioRoutingPermission) { - notifySessionCreatedToRouter(matchingRequest.mRouterRecord, - toOriginalRequestId(uniqueRequestId), - mSystemProvider.getDefaultSessionInfo()); - } else { - notifySessionCreatedToRouter(matchingRequest.mRouterRecord, - toOriginalRequestId(uniqueRequestId), sessionInfo); + // The router lacks permission to modify system routing, so we hide system routing + // session info from them. + sessionInfo = mSystemProvider.getDefaultSessionInfo(); } - mSessionToRouterMap.put(sessionInfo.getId(), matchingRequest.mRouterRecord); + notifySessionCreatedToRouter( + matchingRequest.mRouterRecord, + toOriginalRequestId(uniqueRequestId), + sessionInfo); } private void onSessionInfoChangedOnHandler(@NonNull MediaRoute2Provider provider,