Loading media/java/android/media/MediaRouter2.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -419,8 +419,7 @@ public final class MediaRouter2 { controller.release(); controller.release(); final int requestId; final int requestId = mControllerCreationRequestCnt.getAndIncrement(); requestId = mControllerCreationRequestCnt.getAndIncrement(); ControllerCreationRequest request = ControllerCreationRequest request = new ControllerCreationRequest(requestId, controller, route); new ControllerCreationRequest(requestId, controller, route); Loading Loading @@ -610,10 +609,16 @@ public final class MediaRouter2 { } } if (sessionInfo != null) { if (sessionInfo != null) { RoutingController newController = new RoutingController(sessionInfo); RoutingController newController; if (sessionInfo.isSystemSession()) { newController = getSystemController(); } else { newController = new RoutingController(sessionInfo); synchronized (sRouterLock) { synchronized (sRouterLock) { mRoutingControllers.put(newController.getId(), newController); mRoutingControllers.put(newController.getId(), newController); } } } //TODO: Determine oldController properly when transfer is launched by Output Switcher. notifyTransferred(matchingRequest != null ? matchingRequest.mController : notifyTransferred(matchingRequest != null ? matchingRequest.mController : getSystemController(), newController); getSystemController(), newController); } } Loading services/core/java/com/android/server/media/SystemMediaRoute2Provider.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -127,8 +127,10 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { @Override @Override public void requestCreateSession(long requestId, String packageName, String routeId, public void requestCreateSession(long requestId, String packageName, String routeId, Bundle sessionHints) { Bundle sessionHints) { // Handle it as an internal transfer. transferToRoute(requestId, SYSTEM_SESSION_ID, routeId); transferToRoute(requestId, SYSTEM_SESSION_ID, routeId); mCallback.onSessionCreated(this, requestId, mSessionInfos.get(0)); //TODO: We should call after the session info is changed. } } @Override @Override Loading Loading @@ -240,7 +242,6 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { builder.addTransferableRoute(route.getId()); builder.addTransferableRoute(route.getId()); } } RoutingSessionInfo newSessionInfo = builder.setProviderId(mUniqueId).build(); RoutingSessionInfo newSessionInfo = builder.setProviderId(mUniqueId).build(); if (Objects.equals(oldSessionInfo, newSessionInfo)) { if (Objects.equals(oldSessionInfo, newSessionInfo)) { return false; return false; Loading @@ -261,6 +262,7 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { synchronized (mLock) { synchronized (mLock) { sessionInfo = mSessionInfos.get(0); sessionInfo = mSessionInfos.get(0); } } mCallback.onSessionUpdated(this, sessionInfo); mCallback.onSessionUpdated(this, sessionInfo); } } Loading Loading
media/java/android/media/MediaRouter2.java +10 −5 Original line number Original line Diff line number Diff line Loading @@ -419,8 +419,7 @@ public final class MediaRouter2 { controller.release(); controller.release(); final int requestId; final int requestId = mControllerCreationRequestCnt.getAndIncrement(); requestId = mControllerCreationRequestCnt.getAndIncrement(); ControllerCreationRequest request = ControllerCreationRequest request = new ControllerCreationRequest(requestId, controller, route); new ControllerCreationRequest(requestId, controller, route); Loading Loading @@ -610,10 +609,16 @@ public final class MediaRouter2 { } } if (sessionInfo != null) { if (sessionInfo != null) { RoutingController newController = new RoutingController(sessionInfo); RoutingController newController; if (sessionInfo.isSystemSession()) { newController = getSystemController(); } else { newController = new RoutingController(sessionInfo); synchronized (sRouterLock) { synchronized (sRouterLock) { mRoutingControllers.put(newController.getId(), newController); mRoutingControllers.put(newController.getId(), newController); } } } //TODO: Determine oldController properly when transfer is launched by Output Switcher. notifyTransferred(matchingRequest != null ? matchingRequest.mController : notifyTransferred(matchingRequest != null ? matchingRequest.mController : getSystemController(), newController); getSystemController(), newController); } } Loading
services/core/java/com/android/server/media/SystemMediaRoute2Provider.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -127,8 +127,10 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { @Override @Override public void requestCreateSession(long requestId, String packageName, String routeId, public void requestCreateSession(long requestId, String packageName, String routeId, Bundle sessionHints) { Bundle sessionHints) { // Handle it as an internal transfer. transferToRoute(requestId, SYSTEM_SESSION_ID, routeId); transferToRoute(requestId, SYSTEM_SESSION_ID, routeId); mCallback.onSessionCreated(this, requestId, mSessionInfos.get(0)); //TODO: We should call after the session info is changed. } } @Override @Override Loading Loading @@ -240,7 +242,6 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { builder.addTransferableRoute(route.getId()); builder.addTransferableRoute(route.getId()); } } RoutingSessionInfo newSessionInfo = builder.setProviderId(mUniqueId).build(); RoutingSessionInfo newSessionInfo = builder.setProviderId(mUniqueId).build(); if (Objects.equals(oldSessionInfo, newSessionInfo)) { if (Objects.equals(oldSessionInfo, newSessionInfo)) { return false; return false; Loading @@ -261,6 +262,7 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { synchronized (mLock) { synchronized (mLock) { sessionInfo = mSessionInfos.get(0); sessionInfo = mSessionInfos.get(0); } } mCallback.onSessionUpdated(this, sessionInfo); mCallback.onSessionUpdated(this, sessionInfo); } } Loading